內容簡介
《LinuxC函式實例速查手冊》詳細地介紹了Linux環境下常用的C語言函式,重點介紹每個函式的參數意義、返回值的意義以及函式使用時的注意事項。《LinuxC函式實例速查手冊》含有大量實例,詳細講解每個函式的使用方法,每個函式均給出了對應的套用實例,方便讀者理解函式並進行模擬實踐。《LinuxC函式實例速查手冊》適合於正在學習Linux環境下C語言編程的用戶閱讀,並可作為開發人員的參考手冊。編輯推薦
內容全面:涵蓋近400個Linux常用c函式
實例講解:每個函式均以操作實例進行講解
查詢方便:提供功能索引和字母索引
《LinuxC函式實例速查手冊》詳細講解了Linux系統常用的C函式,內容涵蓋:
初級I/O函式
檔案管理操作函式
標準I/O函式
格式化輸入輸出函式
進程控制函式
進程問通信函式
信號函式
用戶、組函式及環境變數函式
錯誤處理與記憶體分配函式
日誌函式
動態函式與正則表達式函式
時間函式
socke湘關函式
字元測試函式
數據轉換函式
字元串處理函式
數學計算函式
隨機數及數據加密函式
數據結構函式
目錄
第1章初級I/O函式
1.1close函式:關閉已經打開的檔案
1.2creat函式:創建一個檔案
1.3dup函式:複製檔案描述符
1.4dup2函式:複製檔案描述符到指定的位置
1.5fcntl函式:改變檔案的狀態
1.6fsync函式:將緩衝區數據回寫到磁碟檔案
1.7Lseek函式:移動檔案的讀寫位置
1.8open函式:打開一個檔案
1.9read函式:讀取檔案的數據
1.10sync函式:將所有打開的檔案寫回磁碟
1.11write函式:輸出內容到檔案
第2章檔案管理操作函式
2.1access函式:判斷進程是否具有訪問檔案的許可權
2.2alphasort函式:按照字母順序排序目錄結構
2.3chdir函式:改變當前的工作目錄
2.4chmod函式:改變檔案的許可權
2.5chown函式:改變檔案的所有者
2.6chroot函式:改變進程的根目錄
2.7closedir函式:關閉目錄檔案
2.8fchdir函式:使用檔案描述符改變當前的工作目錄
2.9fchmod函式:改變一個已經打開的檔案的許可權
2.10fstat函式:得到一個打開檔案的狀態
2.11truncate函式:改變一個打開檔案的大小
2.12ftw函式:遍歷目錄樹
2.13get_current_dir_name函式:取得當前的工作目錄
2.14getcwd函式:取得進程的當前工作目錄
2.15lchown函式:改變符號連結檔案的擁有者
2.16link函式:建立一個硬連結
2.17lstat函式:得到符號連結的檔案狀態
2.18nftw函式:遍歷目錄樹
2.19opendir函式:打開目錄檔案
2.20readdir函式:讀取目錄檔案的內容
2.21readlink函式:讀取符號連結檔案本身的內容
2.22realpath函式:將相對目錄路徑轉換成絕對路徑
2.23remove函式:刪除檔案或者目錄
2.24rename函式:更改檔案的名稱或位置
2.25rewinddir函式:回卷目錄檔案
2.26seekdir函式:檔案定位函式
2.27stat函式:取得檔案狀態
2.28symlink函式:創建一個符號連結
2.29telldir函式:取得目錄檔案的讀取位置
2.30truncate函式:改變檔案大小
2.31umask:設定創建檔案時使用的許可權掩碼
2.32unlink函式:刪除檔案的一個硬連結
第3章標準I/O函式
3.1clearerr函式:清除錯誤標誌
3.2fclose函式:關閉流檔案描述符
3.3fdopen函式:轉換檔案描述符到檔案指針
3.4feof函式:檔案結束判斷函式
3.5fflush函式:刷新流檔案讀寫快取
3.6fgetc函式:從流檔案中讀取一個字元
3.7fgetpos函式:返回流檔案當前讀寫位置
3.8fgets函式:從流檔案中讀出一行數據
3.9fileno函式:獲得流檔案的檔案描述符
3.10fopen函式:打開檔案
3.11fputc函式:將字元寫入流檔案
3.12fputs函式:將字元串寫入流檔案
3.13fread函式:從流檔案中讀出數據
3.14freopen函式:打開檔案
3.15fseek函式:移動流檔案的讀寫位置
3.16fsetpos函式:設定流檔案當前讀寫位置
3.17ftell函式:得到流檔案的讀取位置
3.18fwrite函式:向流檔案中寫入數據
3.19getc函式:從檔案中讀出一個字元
3.20getchar函式:從標準輸入中讀入一個字元
3.21gets函式:從標準輸入中讀入一行數據
3.22mktemp函式:產生臨時檔案的檔案名稱
3.23putc函式:將字元寫入檔案
3.24putchar函式:將字元輸出到標準輸出中
3.25puts函式:將字元串輸出在標準輸出中
3.26rewind函式:將流檔案的讀寫位置移動到檔案的起始位置
3.27setbuf函式:設定檔案緩衝區
3.28setbuffer函式:設定檔案緩衝區
3.29setlinebuf函式:設定行緩衝模式
3.30setvbuf函式:設定自定義檔案緩衝區
3.31tmpfile函式:建立臨時的二進制檔案
3.32ungetc函式:將字元寫回檔案
第4章格式化輸入輸出函式
4.1fprintf函式:格式化輸出到檔案
4.2fscanf函式:格式化從檔案中讀出數據
4.3printf函式:格式化輸出
4.4scanf函式:格式化輸入
4.5snprintf函式:格式化字元輸入
4.6sprintf函式:格式化字元串列印
4.7sscanf函式:格式化字元串取值
4.8vfprintf函式:可變參數輸出函式
4.9vfscanf函式:格式化輸入
4.10vprintf函式:格式化輸出函式
4.11vscanf函式:格式化輸入函式
4.12vsnprintf函式:格式化字元串複製
4.13vsprintf函式:格式化字元串複製
4.14vsscanf函式:格式化字元輸入
第5章進程控制
5.1abort函式:進程異常終止函式
5.2atexit函式:進程終止處理函式
5.3execl函式:執行檔案函式
5.4execle函式:執行檔案的函式
5.5execlp函式:從PATH環境變數中查找檔案並執行
5.6execv函式:執行檔案
5.7execve函式:執行檔案
5.8execvp函式:執行檔案
5.9exit函式:結束進程運行的函式
5.10_exit函式:結束進程運行的函式
5.11fork函式:建立一個新的進程
5.12getgid函式:取得實際進程組ID
5.13getegid函式:取得有效進程組ID
5.14getpid函式:取得有效組ID
5.15getppid函式:取得父進程的進程識別碼
5.16getpriority函式:取得進程執行優先權
5.17longjmp函式:跳到原先setjmp存儲的堆疊環境
5.18on_exit函式:設定程式正常結束前調用的函式
5.19setjmp函式:存儲當前堆疊環境
5.20setgid函式:設定進程的進程組ID
5.21setuid函式:設定進程組ID
5.22setpriority函式:設定程式進程優先權
5.23siglongjmp函式:跳到原先sigsetjmp存儲的堆疊環境
5.24sigsetjmp函式:存儲當前堆疊環境和禁止的信號集
5.25system函式:執行Shell命令
5.26vfork函式:建立一個新的進程
5.27wait函式:等待子進程中斷或結束
5.28waitpid函式:等待子進程中斷或結束
5.29wait3函式:等待進程結束並且輸出子進程統計信息
第6章進程間通信函式
6.1ftok函式:獲得項目相關的IPC鍵值
6.2msgctl函式:訊息佇列操作函式
6.3msgget函式:創建或打開訊息佇列
6.4msgrcv函式:讀取訊息佇列
6.5msgsnd函式:向訊息佇列中寫入訊息
6.6semctl函式:信號量操作函式
6.7semget函式:創建或打開信號量
6.8semop函式:釋放或獲取信號量
6.9shmat函式:導入共享記憶體
6.10shmctl函式:共享記憶體操作函式
6.11shmdt函式:將共享記憶體從程式中脫離
6.12shmget函式:創建共享記憶體
6.13mkfifo函式:創建FIFO管道函式
6.14pclose函式:關閉管道檔案
6.15pipe函式:創建匿名管道
6.16popen函式:創建管道檔案
第7章信號函式
7.1alarm函式:核心定時器函式
7.2kill函式:信號傳送函式
7.3pause函式:進程暫停執行函式
7.4raise函式:向進程自身傳送信號函式
7.5sigaction函式:高級信號處理方式設定函式
7.6sigaddset函式:添加信號到信號集函式
7.7sigdelset函式:刪除信號集中對應信號函式
7.8sigemptyset函式:清空信號集函式
7.9sigfillset函式:填充信號集函式
7.10sigismember函式:測試某個信號是否在信號集中
7.11signal函式:信號處理方式設定函式
7.12sigpause函式:暫停進程直到信號到來
7.13sigpending函式:查詢未決信號
7.14sigprocmask函式:信號禁止函式
7.15sigsuspend函式:暫停直到信號到來
7.16sleep函式:讓進程休眠一段時間
第8章用戶、組函式及環境變數函式
8.1clearenv函式:刪除所有環境變數的值
8.2cuserid函式:獲得用戶名函式
8.3endgrent函式:關閉系統組檔案函式
8.4endpwent函式:關閉系統口令函式
8.5endutent函式:關閉utmp檔案
8.6fgetgrent函式:從檔案中讀取組數據
8.7fgetpwent函式:從檔案中讀取密碼格式數據
8.8getegid函式:獲得有效(effectivegid)組識別符
8.9getenv函式:取得環境變數的值
8.10geteuid函式:獲得有效(effectiveuid)用戶識別符
8.11getgid函式:獲得組識別符
8.12getgrent函式:從檔案/etc/group中讀取組信息
8.13getgrgid函式:從檔案/etc/group中查找組信息
8.14getgrnam函式:從檔案/etc/group中查找組信息
8.15getgroups函式:返回當前用戶所屬的組列表
8.16getlogin函式:獲取當前用戶的賬號名稱
8.17getpw函式:獲取指定uid的用戶信息
8.18getpwent函式:讀取/etc/passwd檔案中的數據
8.19getpwnam函式:以用戶名獲取用戶信息
8.20getpwuid函式:以用戶ID獲取用戶信息
8.21getuid函式:獲取當前進程所屬的用戶ID
8.22getutent函式:獲取登錄信息
8.23getutid函式:獲取指定用戶ID的登錄信息
8.24getutline函式:查找指定的登錄信息
8.25initgroups函式:初始化組信息
8.26logwtmp函式:添加登錄記錄信息
8.27putenv函式:改變環境變數的值
8.28pututline函式:添加登錄信息
8.29setegid函式:設定有效組ID
8.30setenv函式:改變環境變數的值
8.31seteuid函式:設定有效用戶ID
8.32setfsgid函式:設定進程的檔案系統的組ID
8.33setfsuid函式:設定進程的檔案系統的用戶ID
8.34setgid函式:設定進程的組ID
8.35setgrent函式:將檔案etc/group的讀寫位置移動到起始位置
8.36setgroups函式:設定當前進程的組識別符
8.37setpwent函式:將檔案etc/passwd的讀寫位置移動到起始位置
8.38setregid函式:設定當前進程的真實以及有效組ID
8.39setreuid函式:設定當前進程的真實以及有效用戶ID
8.40setuid函式:設定進程的用戶ID
8.41setutent函式:將檔案utmp的讀寫位置移動到起始位置
8.42unsetenv函式:清除環境變數的值
8.43updwtmp函式:將登錄數據記錄寫入utmp檔案
8.44utmpname函式:設定檔案utmp的絕對位置
第9章錯誤處理與記憶體分配函式
9.1brk函式:改變數據段大小
9.2calloc函式:記憶體分配函式
9.3ferror函式:檔案錯誤判斷
9.4free函式:釋放動態分配記憶體函式
9.5getpagesize函式:獲得作業系統記憶體頁大小函式
9.6malloc函式:動態記憶體分配函式
9.7mmap函式:檔案映射函式
9.8munmap函式:釋放映射的記憶體地址
9.9perror函式:錯誤原因輸出函式
9.10realloc函式:記憶體截取函式
9.11sbrk函式:增加數據空間
9.12strerror函式:錯誤代碼查詢
第10章日誌函式、動態函式與正則表達式函式
10.1closelog函式:關閉信息記錄
10.2dlclose函式:關閉動態庫檔案
10.3dlerror函式:動態函式出錯處理
10.4dlopen函式:打開動態庫檔案
10.5dlsym函式:在動態庫檔案中查找函式
10.6openlog函式:打開記錄信息
10.7regcomp函式:編譯正則表達式
10.8regerror函式:編譯錯誤判斷函式
10.9regexec函式:執行正則匹配
10.10regfree函式:釋放正則模式串資源
10.11syslog函式:輸出記錄信息
第11章時間函式
11.1asctime函式:字元串時間操作函式
11.2clock函式:計算運行時間函式
11.3ctime函式:字元串時間函式
11.4difftime函式:計算時間差函式
11.5ftime函式:取得系統時間
11.6gettimeofday函式:取得系統當前時間
11.7gmtime函式:日曆時間格式函式
11.8localtime函式:獲得當前系統時間
11.9mktime函式:系統時間轉換函式
11.10settimeofday函式:系統時間設定函式
11.11strftime函式:時間格式化輸出函式
11.12time函式:獲得系統當前時間
11.13tzset函式:設定系統時區變數tzname
第12章socket相關函式
12.1accept函式:處理socket請求函式
12.2bind函式:將socket描述符與一個套接口綁定
12.3connect函式:與遠程主機連線
12.4endprotoent函式:結束網路協定的讀取函式
12.5endservent函式:關閉檔案/etc/services
12.6gethostbyaddr函式:由IP獲得主機信息
12.7gethostbyname函式:由主機名獲得主機信息
12.8getprotobyname函式:由協定名獲取協定數據
12.9getprotobynumber函式:由協定編號獲取協定數據
12.10getprotoent函式:讀取檔案/etc/rotoent中的網路協定數據
12.11getservbyname函式:獲得網路服務協定數據
12.12getservbyport函式:獲得網路服務協定數據
12.13getservent函式:讀取主機網路服務數據
12.14getsockopt函式:獲得指定socket描述符的狀態
12.15herror函式:錯誤原因輸出函式
12.16hstrerror函式:錯誤代碼查詢
12.17htonl函式:地址位元組順序轉換
12.18htons函式:地址位元組順序轉換
12.19inet_addr函式:網路地址類型轉換
12.20inet_aton函式:網路地址類型轉換
12.21inet_ntoa函式:網路地址類型轉換
12.22listen函式:網路socket監聽
12.23ntohl函式:地址位元組順序轉換
12.24ntohs函式:地址位元組順序轉換
12.25recv函式:接收訊息
12.26recvfrom函式:接收訊息
12.27recvmsg函式:多緩衝讀取數據
12.28send函式:向遠程主機傳送數據
12.29sendto函式:傳送數據到遠程主機
12.30setprotoent函式:打開網路協定檔案
12.31setservent函式:打開網路服務檔案
12.32setsockopt函式:設定socket描述符的狀態
12.33shutdown函式:結束socket套接字
12.34socket函式:創建網路套接字
第13章字元測試函式
13.1isalnum函式:判斷字元是否為英文字母或數字
13.2isalpha函式:判斷字元是否為英文字母
13.3isascii函式:判斷字元是否為ASCII字元
13.4isblank函式:判斷字元是否為空白字元
13.5iscntrl函式:判斷字元是否為ASCII的控制字元
13.6isdigit函式:判斷字元是否為阿拉伯數字
13.7isgraph函式:判斷字元是否為可列印字元
13.8islower函式:判斷字元是否為小寫英文字母
13.9isprint函式:判斷字元是否為可列印字元
13.10isspace函式:判斷字元是否為空格字元
13.11ispunct函式:判斷字元是否為標點符號
13.12isupper函式:判斷字元是否為大寫英文字母
13.13isxdigit函式:判斷字元是否為十六進制數字
第14章數據轉換函式
14.1atof函式:將字元串轉換成浮點數
14.2atoi函式:將字元串轉換成整數
14.3atol函式:將字元串轉換成長整數
14.4ecvt函式:將浮點數轉換成字元串
14.5fcvt函式:將浮點數轉換成字元串
14.6gcvt函式:將浮點數轉換成字元串
14.7strtod函式:將字元串轉換成浮點數
14.8strtol函式:將字元串轉換成長整數
14.9strtoul函式:將字元串轉換成無符號長整數
14.10toascii函式:將整數轉換成合法的ASCII字元
14.11tolower函式:將大寫字母轉換成小寫字母
14.12toupper函式:將小寫字母轉換成大寫字母
第15章字元串處理函式
15.1bcmp函式:比較兩塊記憶體中的內容
15.2bcopy函式:複製記憶體中的內容
15.3bzero函式:將一塊記憶體內容全清零
15.4ffs函式:在一個整數中查找第一個值為真的位
15.5index函式:查找字元串中第一個出現的指定字元
15.6memccpy函式:複製記憶體中的內容
15.7memchr函式:在一塊記憶體指定範圍查找一個指定字元
15.8memcmp函式:比較記憶體中存放的內容
15.9memcpy函式:複製一塊記憶體內容到另一塊中
15.10memfrob函式:對某個記憶體區重新編碼
15.11memmove函式:複製記憶體內容
15.12memset函式:將某值填入到一塊記憶體區域
15.13rindex函式:查找字元串中最後一個出現的指定字元
15.14strcasecmp函式:忽略大小寫比較字元串
15.15strcat函式:將一個字元串連線另一字元串的尾部
15.16strchr函式:查找字元串中指定字元
15.17strcmp函式:比較兩個字元串
15.18strcoll的函式:根據當前環境信息來比較字元串
15.19strcpy函式:複製一個字元串的內容到另一個字元串中
15.20strcspn函式:計算字元串中由非指定字元集字元組成的子字元串的長度
15.21strdup函式:複製字元串內容
15.22strfry函式:隨機重組一個字元串
15.23strlen函式:返回字元串長度
15.24strncasecmp函式:忽略大小寫比較兩個字元串
15.25strncat函式:將一個字元串的前n個字元連線到另一字元串的尾部
15.26strncmp函式:比較兩個字元串
15.27strncpy函式:複製字元串
15.28strpbrk函式:查找字元串中第一個出現的指定字元
15.29strrchr函式:查找字元串中最後一個出現的指定字元
15.30strspn函式:計算字元串中由指定字元集字元組成的子字元串的長度
第16章數學計算函式
16.1abs函式:計算整數的絕對值
16.2acos函式:計算反餘弦的值
16.3asin函式:計算反正弦的值
16.4atan函式:計算反正切的值
16.5atan2函式:計算反正切的值
16.6ceil函式:計算大於或等於給定參數的最小整數
16.7cos函式:計算餘弦的值
16.8cosh函式:計算雙曲線的餘弦值
16.9div函式:計算兩整數相除後的商和餘數
16.10exp函式:計算浮點數的指數
16.11fabs函式:計算浮點數的絕對值
16.12frexp函式:計算浮點數的尾數和指數
16.13hypot函式:計算直角三角形斜邊長度
16.14labs函式:計算長整數的絕對值
16.15ldexp函式:計算浮點數與2的exp次方的積
16.16ldiv函式:計算兩長整數相除後的商和餘數
16.17log函式:計算以e為底的對數值
16.18log10函式:計算以10為底的對數值
16.19modf函式:將浮點數分解為小數和整數兩部分
16.20pow函式:計算次方值
16.21sin函式:取正弦的值
16.22sinh函式:計算雙曲線的正弦值
16.23sqrt函式:計算浮點數的平方根
16.24tan函式:計算角度的正切值
16.25tanh函式:計算雙曲線的正切函式值
第17章隨機數及數據加密函式
17.1crypt函式:對字元串使用des算法編碼
17.2drand48函式:產生一個正的隨機浮點數
17.3erand48函式:產生一個正的隨機浮點數
17.4initstate:建立隨機數狀態數組
17.5jrand48函式:產生一個長整型的隨機數
17.6lcong48函式:設定48位運算的隨機數種子
17.7lrand48函式:產生一個正的長整型隨機數
17.8mrand48函式:產生一個長整型隨機數
17.9nrand48函式:產生一個正的長整數隨機數
17.10rand函式:產生偽隨機數
17.11random函式:產生隨機數
17.12seed48函式:設定48位運算的隨機數種子
17.13setstate函式:建立隨機數狀態數組
17.14srand函式:設定隨機數種子
17.15srand48函式:設定48位運算的隨機數種子
17.16srandom函式:設定隨機數種子
17.17getpass函式:取得用戶輸入密碼字元串
第18章數據結構函式
18.1bsearch函式:在有序數組中二分查找數據
18.2hcreate函式:建立哈希表
18.3hdestroy函式:刪除哈希表
18.4hsearch函式:在哈希表中查找關鍵數據
18.5lfind函式:線性搜尋
18.6lsearch函式:線性搜尋
18.7qsort函式:使用快速排序法排列數組
18.8tdelete函式:從二叉樹中刪除數據
18.9tfind函式:搜尋二叉樹
18.10tsearch函式:搜尋二叉樹
18.11twalk函式:遍歷二叉樹
第19章其他函式
19.1getopt函式:分析命令參數
19.2isatty函式:判斷檔案描述符是否為終端
19.3pselect函式:多路轉接I/O
19.4select函式:多路I/O轉接
19.5ttyname函式:返回終端機的名稱
附錄ALinux函式的首字母索引
附錄BLinux指令的首字母索引
……