标题：LinuxC函数库详解词典
内容提要 
本书适合程序员和工程技术人员参考。
本书中文简体字版由中国台湾旗标出版股份有限公司授权机械工业出版社出版，未经本书原版出版者和本书出版者预先书面许可，不得以任何方式复制或抄袭本书的任何部分。
编辑推荐 
包含400多个常用的函数
按照功能划分为章，方便查找具有特定功能的函数
各章中再按照字母顺序排列，方便快速查找
精选范例，实际演练函数的用法
附有函数索引，可以直接按照函数名称查找
包含GCC使用指南，迅速掌握GCC重要参数的用法
目录 
第 1 章　字符测试函数 函数名称 
isalnum 测试字符是否为英文字母或数字2 
isalpha 测试字符是否为英文字母 3 
isascii 测试字符是否为ASCII字符 4 
isblank 测试字符是否为空白字符 5 
iscntrl 测试字符是否为ASCII的控制字符6 isdigit 测试字符是否为阿拉伯数字 7 
isgraph 测试字符是否为可打印字符 8 
islower 测试字符是否为小写英文字母 9 
isprint 测试字符是否为可打印字符 10 
isspace 测试字符是否为空白字符 11 
ispunct 测试字符是否为标点符号或特殊符号12 isupper 测试字符是否为大写英文字母 13 isxdigit 测试字符是否为十六进制数字 14 
第 2 章　数据转换函数 函数名称 
atof 将字符串转换成浮点数 16 
atoi 将字符串转换成整数 17 
atol 将字符串转换成长整数 18 
ecvt 将浮点数转换成字符串，四舍五入19 
fcvt 将浮点数转换为字符串，四舍五入20 
gcvt 将浮点数转换为字符串，四舍五入21 strtod 将字符串转换成浮点数 22 
strtol 将字符串转换成长整数 23 
strtoul 将字符串转换成无符号长整数 24 
toascii 将整数转换成合法的ASCII字符 25 
tolower 将大写字母转换成小写字母 26 
toupper 将小写字母转换成大写字母 27 
第 3 章　内存分配函数 函数名称 
brk 改变数据段空间的范围 30 
calloc 分配内存空间 31 
free 释放原先分配的内存 32 
getpagesize 取得内存分页大小 33 
malloc 分配内存空间 34 
mmap 建立内存映射 35 
munmap 解除内存映射 38 
realloc 调整已分配的内存空间 39 
sbrk 增加程序可用的数据空间 40 
第 4 章　时间函数 函数名称 功能说明 页码 asctime 将时间和日期以字符串格式表示42 
clock 取得进程占用CPU的大约时间 43 
ctime 将时间和日期以字符串格式表示44 difftime 计算时间差距 45 
ftime 取得当前的时间和日期 46 gettimeofday 取得当前的时间 48 
gmtime 取得当前的时间和日期 50 localtime 取得当地当前的时间和日期 52 
mktime 将时间结构数据转换成经过的秒数53 settimeofday 设置当前的时间 54 strftime 格式化日期和时间 55 
time 取得当前的时间 58 
tzset 设置时区以供时间转换 59 
第 5 章　字符串处理函数 函数名称 功能说明 页码 bcmp 比较内存内容 62 
bcopy 复制内存内容 63 
bzero 将一块内存内容全清零 64 
ffs 在一个整数中查找第一个值为真的位65 index 查找字符串中第一个出现的指定字符66 memccpy 复制内存内容 67 
memchr 在一个内存范围中查找一个特定字符68 memcmp 比较内存内容 69 
memcpy 复制内存内容 70 
memfrob 对内存区域编码 71 
memmove 复制内存内容 72 
memset 将某值填入到一块内存区域 73 
rindex 查找字符串中最后一个出现的指定字符74 strcasecmp 忽略大小写比较字符串75 strcat 连接两个字符串 76 
strchr 查找字符串中第一个出现的指定字符77 strcmp 比较字符串 78 
strcoll 采用当前区域的字符排列顺序来比较字79 
strcpy 复制字符串 80 
strcspn 返回字符串中连续不含指定字符串内容的 字符数 81 
strdup 复制字符串内容 82 
strfry 随机重组字符串内的字符 83 
strlen 返回字符串长度 84 
strncasecmp 忽略大小写比较字符串85 strncat 连接两个字符串 86 
strncmp 比较字符串 87 
strncpy 复制字符串 88 
strpbrk 查找字符串中第一个出现的指定字符89 strrchr 查找字符串中最后一个出现的指定字符90 strspn 返回字符串中连续包含指定字符串内容 的字符数 91 
strstr 在一个字符串中查找指定的字符串92 strtok 分解字符串 93 
第 6 章　数学计算函数 函数名称 
abs 计算整数的绝对值 96 
acos 取反余弦函数值 97 
asin 取反正弦函数值 98 
atan 取反正切函数值 99 
atan2 取得反正切函数值 100 
ceil 取不小于参数的最小整数 101 
cos 取余弦函数值 102 
cosh 取双曲线余弦函数值 103 
div 取得两整数相除后的商及余数 104 
exp 计算指数 105 
fabs 计算浮点数的绝对值 106 
frexp 将浮点数分为底数与指数 107 
hypot 计算直角三角形斜边长 108 
labs 计算长整数的绝对值 109 
ldexp 计算2的次方值 110 
ldiv 取得两个长整数相除后的商及余数111 
log 计算以e为底的对数值 112 
log10 计算以10为底的对数值 113 
modf 将浮点数分解成整数与小数 114 
pow 计算次方值 115 
sin 取正弦函数值 116 
sinh 取双曲线正弦函数值 117 
sqrt 计算平方根值 118 
tan 取正切函数值 119 
tanh 取双曲线正切函数值 120 
第 7 章　用户和组函数 函数名称 
cuserid 取得用户账户名称 122 
endgrent 关闭组文件 123 
endpwent 关闭密码文件 124 
endutent 关闭utmp文件 125 
fgetgrent 从指定的文件来读取组格式 126 fgetpwent 从指定的文件来读取密码格式 128 getegid 取得有效的组识别码 130 
geteuid 取得有效的用户识别码 131 
getgid 取得真实的组识别码 132 
getgrent 从组文件中取得账户的数据 133 getgrgid 从组文件中取得指定gid的数据 135 getgrnam 从组文件中取得指定组的数据 136 getgroups 取得组代码 137 
getlogin 取得登录的用户账户名称 138 
getpw 取得指定用户的密码文件数据 139 getpwent 从密码文件中取得账户的数据 140 getpwnam 从密码文件中取得指定账户的数据142 getpwuid 从密码文件中取得指定uid的数据143 getuid 取得真实的用户识别码 144 getutent 从utmp文件中取得账户登录数据145 getutid 从utmp文件中查找特定的记录 148 getutline 从utmp文件中查找特定的记录 149 initgroups 初始化组清单 150 logwtmp 将一项登录数据记录到wtmp文件151 pututline 将utmp记录写入文件 152 
setegid 设置有效的组识别码 153 
seteuid 设置有效的用户识别码 154 setfsgid 设置文件系统的组识别码 155 setfsuid 设置文件系统的用户识别码 156 
setgid 设置真实的组识别码 157 
setgrent 从头读取组文件中的组数据 158 setgroups 设置组代码 159 
setpwent 从头读取密码文件中的账户数据160 setregid 设置真实且有效的组识别码 162 setreuid 设置真实及有效的用户识别码 163 
setuid 设置真实的用户识别码 164 setutent 从头读取utmp文件中的登录数据165 updwtmp 将一项登录数据记录到wtmp文件166 utmpname 设置utmp文件路径 167 
第 8 章　数据加密函数 函数名称 
crypt 将密码或数据编码 170 
getpass 取得一个密码输入 172 
第 9 章　数据结构函数 函数名称 
bsearch 二分查找 176 
hcreate 建立哈希表 179 
hdestory 删除哈希表 180 
hsearch 哈希表查找 181 
insque 加入一个成员至队列中 182 
lfind 线性查找 183 
lsearch 线性查找 184 
qsort 使用快速排序法排列数组 186 
remque 从队列中删除一个成员 188 tdelete 从二叉树中删除数据 189 
tfind 查找二叉树 190 
tsearch 二叉树 191 
twalk 遍历二叉树 192 
第10章　随机数函数 函数名称 功能说明 页码 drand48 产生一个正的浮点随机数 194 erand48 产生一个正的浮点随机数 195 initstate 建立随机数状态数组 197 
jrand48 产生一个长整数随机数 198 lcong48 设置48位运算的随机数种子 200 lrand48 产生一个正的长整数随机数 202 mrand48 产生一个长整数随机数 203 nrand48 产生一个正的长整数随机数 204 
rand 产生随机数 205 
random 产生随机数 206 
seed48 设置48位运算的随机数种子 207 setstate 建立随机数状态数组 209 
srand 设置随机数种子 210 
srand48 设置48位运算的随机数种子 212 srandom 设置随机数种子 213 
第11章　初级I/O函数 函数名称 
close 关闭文件 216 
creat 建立文件 217 
dup 复制文件描述符 219 
dup2 复制文件描述符 220 
fcntl 文件描述符操作 221 
flock 锁定文件或解除锁定 223 
fsync 将缓冲区数据写回磁盘 224 
lseek 移动文件的读写位置 225 
mkstemp 建立唯一的临时文件 227 
open 打开文件 229 
read 从已打开的文件读取数据 233 
sync 将缓冲区数据写回磁盘 234 
write 将数据写入已打开的文件 235 
第12章　标准I/O函数 函数名称 
clearerr 清除文件流的错误标志 238 
fclose 关闭文件 239 
fdopen 将文件描述符转换为文件指针 240 
feof 检查文件流是否读到了文件尾 241 
fflush 更新缓冲区 242 
fgetc 从文件中读取一个字符 243 fgetpos 取得文件流的读取位置 244 
fgets 由文件中读取一个字符串 245 
fileno 返回文件流所使用的文件描述符246 
fopen 打开文件 247 
fputc 将一个指定字符写入文件流中 249 
fputs 将一个指定的字符串写入文件内250 
fread 从文件流读取数据 251 
freopen 打开文件 253 
fseek 移动文件流的读写位置 254 
fseeko 移动文件流的读写位置 256 fsetpos 移动文件流的读写位置 257 
ftell 取得文件流的读取位置 258 
ftello 取得文件流的读取位置 259 
fwrite 将数据写入文件流 260 
getc 从文件中读取一个字符 261 getchar 从标准输入中读取一个字符 262 
gets 从标准输入中读取一个字符串 263 mkdtemp 产生唯一的临时目录名 264 
mktemp 产生唯一的临时文件的文件名 265 
putc 将一个指定字符写入文件中 266 putchar 将指定的字符写到标准输出 267 
puts 将指定的字符串写到标准输出 268 
rewind 重设文件流的读写位置为文件开头269 setbuf 设置文件流的缓冲区 270 
setbuffer 设置文件流的缓冲区 271 
setlinebuf 设置文件流为线性缓冲区272 setvbuf 设置文件流的缓冲区 273 
tmpfile 建立临时文件 274 
ungetc 将一个指定字符写回文件流中 275 
第13章　进程及流程控制 函数名称 
abort 以不正常方式结束进程 278 
assert 如果测试的条件不成立则终止进程279 atexit 设置程序正常结束前调用的函数280 
execl 执行文件 281 
execle 执行文件 282 
execlp 从PATH环境变量中查找文件并执行283 execv 执行文件 284 
execve 执行文件 285 
execvp 执行文件 287 
exit 正常结束进程 288 
_exit 结束进程执行 289 
fork 建立一个新的进程 290 
getpgid 取得进程组识别码 292 
getpgrp 取得进程组识别码 293 
getpid 取得进程识别码 294 
getppid 取得父进程的进程识别码 295 getpriority 取得进程执行优先级 296 longjmp 跳到原先setjmp存储的堆栈环境297 
nice 改变进程执行优先顺序 299 on_exit 设置程序正常结束前调用的函数300 ptrace 进程追踪 301 
setjmp 存储当前堆栈环境 304 
setpgid 设置进程组识别码 305 
setpgrp 设置进程组识别码 306 
setpriority 设置程序进程优先级 307 siglongjmp跳到原先sigsetjmp存储的堆栈环境308 sigsetjmp 存储当前堆栈环境 309 
system 执行shell命令 310 
vfork 建立一个新的进程 311 
wait 等待子进程中断或结束 313 waitpid 等待子进程中断或结束 315 
第14章　格式化输入输出函数 
fprintf 格式化输出数据到文件 318 
fscanf 格式化字符串输入 319 
printf 格式化输出数据 320 
scanf 格式化字符串输入 323 
snprintf 格式化字符串复制 325 
sprintf 格式化字符串复制 326 
sscanf 格式化字符串输入 327 
vfprintf 格式化输出数据至文件 328 vfscanf 格式化字符串输入 329 
vprintf 格式化输出数据 330 
vscanf 格式化字符串输入 331 
vsnprintf 格式化字符串复制 332 
vsprintf 格式化字符串复制 333 
vsscanf 格式化字符串输入 334 
第15章　文件及目录函数 函数名称
access 判断是否具有访问文件的权限 336 alphasort 按照字母顺序排序目录结构 338 
chdir 改变当前的工作目录 340 
chmod 改变文件的权限 341 
chown 改变文件的拥有者 343 
chroot 改变根目录 345 
closedir 关闭目录 346 
fchdir 改变当前的工作目录 347 
fchmod 改变文件的权限 348 
fchown 改变文件的拥有者 349 
fstat 由文件描述符取得文件状态 351 ftruncate 改变文件大小 352 
ftw 遍历目录树 353 get_current_dir_name 取得当前的工作355 
getcwd 取得当前的工作目录 356 
getwd 取得当前的工作目录 357 
lchown 改变文件的拥有者 358 
link 建立文件链接 360 
lstat 由文件描述符取得文件状态 362 
nftw 遍历目录树 363 
opendir 打开目录 365 
readdir 读取目录 366 
readlink 取得符号链接所指的文件 368 realpath 将相对目录路径转换成绝对路径369 remove 删除文件 370 
rename 更改文件名称或位置 371 
rewinddir 重设读取目录的位置为开头位置372 scandir 读取特定的目录数据 374 
seekdir 设置下次读取目录的位置 376 
stat 取得文件状态 378 
symlink 建立文件符号链接 382 
telldir 取得目录流的读取位置 384 truncate 改变文件大小 386 
umask 设置新建文件时的权限掩码 387 
unlink 删除文件 388 
utime 修改文件的访问时间和更改时间389 utimes 修改文件的访问时间和更改时间390