第 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
第16章 信号函数
函数名称 功能说明 页码
alarm 设置信号传送闹钟 392
kill 传送信号给指定的进程 394
pause 让进程暂停直到信号出现 396
psignal 列出信号描述和指定字符串 397
raise 传送信号给当前的进程 398
sigaction 查询或设置信号处理方式 399
sigaddset 增加一个信号到信号集 402
sigdelset 从信号集里删除一个信号 403
sigemptyset 初始化信号集 404
sigfillset 将所有信号加入到信号集 405
sigismember 测试某个信号是否已加入到信号集里 406
signal 设置信号处理方式 407
sigpause 暂停直到信号到来 408
sigpending 查询被搁置的信号 409
sigprocmask 查询或设置信号掩码 410
sigsuspend 暂停直到信号到来 411
sleep 让进程暂停执行一段时间 412
strsignal 由信号编号取得信号描述 413
第17章 错误处理函数
函数名称 功能说明 页码
ferror 检查文件流是否有错误发生 416
perror 打印出错误原因信息字符串 417
strerror 返回错误原因的描述字符串 418
第18章 管道相关函数
函数名称 功能说明 页码
mkfifo 建立命名管道 420
pclose 关闭管道I/O 422
pipe 建立管道 423
popen 建立管道I/O 424
第19章 socket相关函数
函数名称 功能说明 页码
accept 接受socket链接 428
bind 对socket定位 429
connect 建立socket连接 431
endprotoent 结束网络协议数据的读取 434
endservent 结束网络服务数据的读取 435
gethostbyaddr 由IP地址取得网络数据 436
gethostbyname 由主机名称取得网络数据 438
getprotobyname 由网络协议名称取得协议数据 440
getprotobynumber 由网络协议编号取得协议数据 441
getprotoent 取得网络协议数据 442
getservbyname 按照名称取得网络服务的数据 444
getservbyport 按照port号码取得网络服务的数据 445
getservent 取得主机网络服务的数据 446
getsockopt 取得socket状态 448
herror 打印网络错误原因信息字符串 450
hstrerror 返回网络错误原因的描述字符串 451
htonl 将32位主机字符顺序转换成网络字符顺序 452
htons 将16位主机字符顺序转换成网络字符顺序 453
inet_addr 将网络地址转成网络二进制的数字 454
inet_aton 将网络地址转成网络二进制的数字 455
inet_ntoa 将网络二进制的数字转换成网络地址 456
listen 等待连接 457
ntohl 将32位网络字符顺序转换成主机字符顺序 461
ntohs 将16位网络字符顺序转换成主机字符顺序 462
recv 通过socket接收数据 463
recvfrom 通过socket接收数据 465
recvmsg 通过socket接收数据 468
send 通过socket传送数据 469
sendmsg 通过socket传送数据 471
sendto 通过socket传送数据 473
setprotoent 打开网络协议的数据文件 476
setservent 打开主机网络服务的数据文件 477
setsockopt 设置socket状态 478
shutdown 终止socket通信 480
socket 建立一个socket通信 481
第20章 进程间通信(IPC)函数
函数名称 功能说明 页码
ftok 将文件路径和项目ID转为System VIP Ckey 484
msgctl 控制信息队列的运作 485
msgget 建立信息队列 488
msgrcv 从信息队列读取信息 490
msgsnd 将信息送入信息队列 492
semctl 控制信号队列的运作 493
semget 分配信号队列 496
semop 信号处理 497
shmat 连接共享内存 499
shmctl 控制共享内存的运作 502
shmdt 脱离共享内存 504
shmget 分配共享内存 505
第21章 日志函数
函数名称 功能说明 页码
closelog 关闭信息日志 508
openlog 准备作信息日志 509
syslog 将信息日志记录到系统日志文件 511
vsyslog 将信息日志记录到系统日志文件 513
第22章 环境变量函数
函数名称 功能说明 页码
getenv 取得环境变量内容 516
putenv 改变或增加环境变量 517
setenv 改变或增加环境变量 518
unsetenv 清除环境变量内容 519
第23章 正则表达式
函数名称 功能说明 页码
regcomp 编译正则表达式字符串 522
regerror 取得正则查找的错误原因 525
regexec 进行正则表达式的查找 526
regfree 释放正则表达式使用的内存 528
第24章 动态函数
函数名称 功能说明 页码
dlclose 关闭动态函数库文件 530
dlerror 动态函数错误处理 531
dlopen 打开动态函数库文件 532
dlsym 从共享对象中查找动态函数 534
第25章 其他函数
函数名称 功能说明 页码
getopt 分析命令行参数 536
getopt_long 分析命令行参数 538
isatty 判断文件描述符是否是为终端 542
pselect I/O多工机制 543
select I/O多工机制 547
sendfile 快速传送文件 550
ttyname 返回一个终端名称 554
附录A 编译程序—gcc 555
附录B 宏与函数 563
附录C 不定参数 569
附录D Linux信号列表 571
附录E 常见错误代码及原因 575