第 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 設置時區(qū)以供時間轉換 59
第 5 章 字符串處理函數
函數名稱 功能說明 頁碼
bcmp 比較內存內容 62
bcopy 復制內存內容 63
bzero 將一塊內存內容全清零 64
ffs 在一個整數中查找第一個值為真的位 65
index 查找字符串中第一個出現的指定字符 66
memccpy 復制內存內容 67
memchr 在一個內存范圍中查找一個特定字符 68
memcmp 比較內存內容 69
memcpy 復制內存內容 70
memfrob 對內存區(qū)域編碼 71
memmove 復制內存內容 72
memset 將某值填入到一塊內存區(qū)域 73
rindex 查找字符串中最后一個出現的指定字符 74
strcasecmp 忽略大小寫比較字符串 75
strcat 連接兩個字符串 76
strchr 查找字符串中第一個出現的指定字符 77
strcmp 比較字符串 78
strcoll 采用當前區(qū)域的字符排列順序來比較字符串 79
strcpy 復制字符串 80
strcspn 返回字符串中連續(xù)不含指定字符串內容的
字符數 81
strdup 復制字符串內容 82
strfry 隨機重組字符串內的字符 83
strlen 返回字符串長度 84
strncasecmp 忽略大小寫比較字符串 85
strncat 連接兩個字符串 86
strncmp 比較字符串 87
strncpy 復制字符串 88
strpbrk 查找字符串中第一個出現的指定字符 89
strrchr 查找字符串中最后一個出現的指定字符 90
strspn 返回字符串中連續(xù)包含指定字符串內容
的字符數 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 設置文件系統(tǒng)的組識別碼 155
setfsuid 設置文件系統(tǒng)的用戶識別碼 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 建立隨機數狀態(tài)數組 197
jrand48 產生一個長整數隨機數 198
lcong48 設置48位運算的隨機數種子 200
lrand48 產生一個正的長整數隨機數 202
mrand48 產生一個長整數隨機數 203
nrand48 產生一個正的長整數隨機數 204
rand 產生隨機數 205
random 產生隨機數 206
seed48 設置48位運算的隨機數種子 207
setstate 建立隨機數狀態(tài)數組 209
srand 設置隨機數種子 210
srand48 設置48位運算的隨機數種子 212
srandom 設置隨機數種子 213
第11章 初級I/O函數
函數名稱 功能說明 頁碼
close 關閉文件 216
creat 建立文件 217
dup 復制文件描述符 219
dup2 復制文件描述符 220
fcntl 文件描述符操作 221
flock 鎖定文件或解除鎖定 223
fsync 將緩沖區(qū)數據寫回磁盤 224
lseek 移動文件的讀寫位置 225
mkstemp 建立唯一的臨時文件 227
open 打開文件 229
read 從已打開的文件讀取數據 233
sync 將緩沖區(qū)數據寫回磁盤 234
write 將數據寫入已打開的文件 235
第12章 標準I/O函數
函數名稱 功能說明 頁碼
clearerr 清除文件流的錯誤標志 238
fclose 關閉文件 239
fdopen 將文件描述符轉換為文件指針 240
feof 檢查文件流是否讀到了文件尾 241
fflush 更新緩沖區(qū) 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 設置文件流的緩沖區(qū) 270
setbuffer 設置文件流的緩沖區(qū) 271
setlinebuf 設置文件流為線性緩沖區(qū) 272
setvbuf 設置文件流的緩沖區(qū) 273
tmpfile 建立臨時文件 274
ungetc 將一個指定字符寫回文件流中 275
第13章 進程及流程控制
函數名稱 功能說明 頁碼
abort 以不正常方式結束進程 278
assert 如果測試的條件不成立則終止進程 279
atexit 設置程序正常結束前調用的函數 280
execl 執(zhí)行文件 281
execle 執(zhí)行文件 282
execlp 從PATH環(huán)境變量中查找文件并執(zhí)行 283
execv 執(zhí)行文件 284
execve 執(zhí)行文件 285
execvp 執(zhí)行文件 287
exit 正常結束進程 288
_exit 結束進程執(zhí)行 289
fork 建立一個新的進程 290
getpgid 取得進程組識別碼 292
getpgrp 取得進程組識別碼 293
getpid 取得進程識別碼 294
getppid 取得父進程的進程識別碼 295
getpriority 取得進程執(zhí)行優(yōu)先級 296
longjmp 跳到原先setjmp存儲的堆棧環(huán)境 297
nice 改變進程執(zhí)行優(yōu)先順序 299
on_exit 設置程序正常結束前調用的函數 300
ptrace 進程追蹤 301
setjmp 存儲當前堆棧環(huán)境 304
setpgid 設置進程組識別碼 305
setpgrp 設置進程組識別碼 306
setpriority 設置程序進程優(yōu)先級 307
siglongjmp 跳到原先sigsetjmp存儲的堆棧環(huán)境 308
sigsetjmp 存儲當前堆棧環(huán)境 309
system 執(zhí)行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 由文件描述符取得文件狀態(tài) 351
ftruncate 改變文件大小 352
ftw 遍歷目錄樹 353
get_current_dir_name 取得當前的工作目錄 355
getcwd 取得當前的工作目錄 356
getwd 取得當前的工作目錄 357
lchown 改變文件的擁有者 358
link 建立文件鏈接 360
lstat 由文件描述符取得文件狀態(tài) 362
nftw 遍歷目錄樹 363
opendir 打開目錄 365
readdir 讀取目錄 366
readlink 取得符號鏈接所指的文件 368
realpath 將相對目錄路徑轉換成絕對路徑 369
remove 刪除文件 370
rename 更改文件名稱或位置 371
rewinddir 重設讀取目錄的位置為開頭位置 372
scandir 讀取特定的目錄數據 374
seekdir 設置下次讀取目錄的位置 376
stat 取得文件狀態(tài) 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 讓進程暫停執(zhí)行一段時間 412
strsignal 由信號編號取得信號描述 413
第17章 錯誤處理函數
函數名稱 功能說明 頁碼
ferror 檢查文件流是否有錯誤發(fā)生 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狀態(tài) 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狀態(tài) 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 將信息日志記錄到系統(tǒng)日志文件 511
vsyslog 將信息日志記錄到系統(tǒng)日志文件 513
第22章 環(huán)境變量函數
函數名稱 功能說明 頁碼
getenv 取得環(huán)境變量內容 516
putenv 改變或增加環(huán)境變量 517
setenv 改變或增加環(huán)境變量 518
unsetenv 清除環(huán)境變量內容 519
第23章 正則表達式
函數名稱 功能說明 頁碼
regcomp 編譯正則表達式字符串 522
regerror 取得正則查找的錯誤原因 525
regexec 進行正則表達式的查找 526
regfree 釋放正則表達式使用的內存 528
第24章 動態(tài)函數
函數名稱 功能說明 頁碼
dlclose 關閉動態(tài)函數庫文件 530
dlerror 動態(tài)函數錯誤處理 531
dlopen 打開動態(tài)函數庫文件 532
dlsym 從共享對象中查找動態(tài)函數 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