LinuxC編程常用API接口函數(shù)0001_第1頁
LinuxC編程常用API接口函數(shù)0001_第2頁
LinuxC編程常用API接口函數(shù)0001_第3頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1字符測試篇2 2字符串轉(zhuǎn)換篇 103內(nèi)存控制篇174日期時間篇225內(nèi)存及字符串操作篇286常用數(shù)學(xué)函數(shù)篇457用戶組篇568數(shù)據(jù)結(jié)構(gòu)及算法篇789文件操作篇 8510文件內(nèi)容操作篇9411進程操作篇10912文件權(quán)限控制篇13013信號處理篇15314接口處理篇 16615環(huán)境變量篇 18416終端控制篇 186目錄Li nux C 1 字符測試篇1.1 isaInum 測試字符是否為英文或數(shù)字 1.2 isalpha 測試字符是否為英文字母 1.3 isascii 測試字符是否為 ASCII碼字符1.4 iscntrl 測試字符是否為 ASCII碼的控制字符 1.5 isdigit 測試

2、字符是否為阿拉伯?dāng)?shù)字 1.6 isgraphis 測試字符是否為可打印字符 1.7 islower 測試字符是否為小寫字母 1.8 isprint 測試字符是否為可打印字符 1.9 isspace 測試字符是否為空格字符 1.10 ispunet 測試字符是否為標(biāo)點符號或特殊符號 1.11 isupper 測試字符是否為大寫英文字母 1.12 isxdigit 測試字符是否為 16進制數(shù)字2 字符串轉(zhuǎn)換篇2.1 atof 將字符串轉(zhuǎn)換成浮點型數(shù) 2.2 atoi 將字符串轉(zhuǎn)換成整型數(shù) 2.3 atol 將字符串轉(zhuǎn)換成長整型數(shù) 2.4 gcvt 將浮點型數(shù)轉(zhuǎn)換為字符串,取四舍五入 2.5 str

3、tod 將字符串轉(zhuǎn)換成浮點數(shù) 2.6 strtol 將字符串轉(zhuǎn)換成長整型數(shù) 2.7 strtoul 將字符串轉(zhuǎn)換成無符號長整型數(shù) 2.8 toascii 將整型數(shù)轉(zhuǎn)換成合法的ASCII碼字符 2.9 tolower 將大寫字母轉(zhuǎn)換成小寫字母 2.10 toupper 將小寫字母轉(zhuǎn)換成大寫字母 3 內(nèi)存控制篇 3.1 calloc 配置內(nèi)存空間 3.2 free 釋放原先配置的內(nèi)存 3.3 getpagesize 取得內(nèi)存分頁大小 3.4 malloc 配置內(nèi)存空間 3.5 mmap 建立內(nèi)存映射 3.6 munmap 解除內(nèi)存映射 4 日期時間篇4.1 asctime 將時間和日期以字符串格式

4、表示 4.2 ctime 將時間和日期以字符串格式表示 4.3 gettimeofday 取得目前的時間 4.4 gmtime 取得目前時間和日期 4.5 localtime 取得當(dāng)?shù)啬壳皶r間和日期 4.6 mktime 將時間結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)換成經(jīng)過的秒數(shù) 4.7 settimeofday 設(shè)置目前時間 4.8 time 取得目前的時間 5 內(nèi)存及字符串操作篇 5.1 bcmp 比擬內(nèi)存內(nèi)容 5.2 bcopy 拷貝內(nèi)存內(nèi)容 5.3 bzero 將一段內(nèi)存內(nèi)容全清為零 5.4 index 查找字符串中第一個出現(xiàn)的指定字符 5.5 memccpy 拷貝內(nèi)存內(nèi)容 5.6 memchr 在某一內(nèi)存范圍中

5、查找一特定字符 5.7 memcmp 比擬內(nèi)存內(nèi)容 5.8 memcpy 拷貝內(nèi)存內(nèi)容 5.9 memmove 拷貝內(nèi)存內(nèi)容 5.10 memset 將一段內(nèi)存空間填入某值 5.11 rindex 查找字符串中最后一個出現(xiàn)的指定字符 5.12 strcasecmp 忽略大小寫比擬字符串 5 13 strcat 連接兩字符串 5.14strchr 查找字符串中第一個出現(xiàn)的指疋字符5.15strcmp 比擬字符串5.16strcoll 米用目前區(qū)域的字符排列次序來比擬字符串5.17strcpy 拷貝字符串 5.18strcspn 返回字符串中連續(xù)不含指定字符串內(nèi)容的字符數(shù)5.19strdup 復(fù)制

6、字符串 5.20strlen 返回字符串長度5.21strncasecmp 忽略大小寫比擬字符串5.22strncat 連接兩字符串 5.23 strncpy 拷貝字符串 5.24 strpbrk 查找字符串中第一個出現(xiàn)的指定字符 5.25 strrchr 查找字符串中最后出現(xiàn)的指定字符5.26strspn 返回字符串中連續(xù)不含指定字符串內(nèi)容的字符數(shù)5.27strstr 在一字符串中查找指定的字符串5.28strtok 分割字符串 6 常用數(shù)學(xué)函數(shù)篇 6.1 abs 計算整型數(shù)的絕對值 6.2 acos 取反余弦函數(shù)數(shù)值 6.3 asin 取反正弦函數(shù)值 6.4 atan 取反正切函數(shù)值 6.

7、5 atan2 取得反正切函數(shù)值 6.6 ceil 取不小于參數(shù)的最小整型數(shù) 6.7 cos 取余玄函數(shù)值 6.8 cosh 取雙曲線余玄函數(shù)值 6.9 exp 計算指數(shù) 6.10 frexp 將浮點型數(shù)分為底數(shù)與指數(shù) 6.11 ldexp 計算2的次方值6.12 log 計算以e為底的對數(shù)值6.13 log10 計算以10為底的對數(shù)值6.14 pow 計算次方值 6.15 sin 取正玄函數(shù)值 6.16 sinh 取雙曲線正玄函數(shù)值 6.17 sqrt 計算平方根值 6.18 tan 取正切函數(shù)值 6.19 tanh 取雙曲線正切函數(shù)值 7 用戶組篇7.1 endgrent 關(guān)閉組文件 7.

8、2 endpwent 關(guān)閉密碼文件 7.3 endutent 關(guān)閉 utmp 文件7.4 fgetgrent 從指定的文件來讀取組格式 7.5 fgetpwent 從指定的文件來讀取密碼格式 7.6 getegid 取得有效的組識另U碼 7.7 geteuid 取得有效的用戶識另U碼 7.8 getgid 取得真實的組識另U碼 7.9 getgrent 從組文件中取得賬號的數(shù)據(jù) 7.10 getgrgid 從組文件中取得指定gid 的數(shù)據(jù) 7.11 getgrnam 從組文件中取得指定組的數(shù)據(jù) 7.12 getgroups 取得纟組代碼 7.13getpw 取得指定用戶的密碼文件數(shù)據(jù)7.14g

9、etpwent 從密碼文件中取得賬號的數(shù)據(jù)7.15getpwnam 從密碼文件中取得指疋賬號的數(shù)據(jù)7.16getpwuid 從密碼文件中取得指定uid的數(shù)據(jù)7.17getuid 取得真實的用戶識別碼7.18getutent 從utmp文件中取得賬號登錄數(shù)據(jù)7.19getutid 從utmp文件中查找特定的記錄7.20getutline 從 utmp 文件中查找特定的記錄7.21initgroups 初始化組清單7.22pututline 將 utmp 記錄寫入文件 7.23seteuid 設(shè)置有效的用戶識另U碼7.24setfsgid 設(shè)置文件系統(tǒng)的組識另U碼7.25setfsuid 設(shè)置文件

10、系統(tǒng)的用戶識別碼7.26setgid 設(shè)置真實的組識別碼7.27 setgrent 從頭讀取組文件中的組數(shù)據(jù) 7.28 setgroups 設(shè)置組代碼 7.29setpwent 從頭讀取密碼文件中的賬號數(shù)據(jù)7.30setregid 設(shè)置真實及有效的組識另U碼7.31setreuid 設(shè)置真實及有效的用戶識另U碼7.32setuid 設(shè)置真實的用戶識別碼7.33setutent 從頭讀取 utmp文件中的登錄數(shù)據(jù)7.34 utmpname 設(shè)置 utmp 文件路徑 8 數(shù)據(jù)結(jié)構(gòu)及算法篇 8.1 crypt 將密碼或數(shù)據(jù)編碼 8.2 bsearch 二元搜索 8.3 lfind 線性搜索 8.4

11、Isearch 線性搜索 8.5 qsort 利用快速排序法排列數(shù)組 8.6 rand 產(chǎn)生隨機數(shù) 8.7 srand 設(shè)置隨機數(shù)種子 9 文件操作篇 9.1 close 關(guān)閉文件 9.2 creat 建立文件 9.3 dup 復(fù)制文件描述詞 9.4 dup2 復(fù)制文件描述詞 9.5 fcntl 文件描述詞操作 9.6 flock 鎖定文件或解除鎖定 9.7 fsync 將緩沖區(qū)數(shù)據(jù)寫回磁盤 9.8 lseek 移動文件的讀寫位置 9.9 mkstemp 建立唯一的臨時文件 9.10 open 翻開文件 9.11 read 由已翻開的文件讀取數(shù)據(jù) 9.12 sync 將緩沖區(qū)數(shù)據(jù)寫回磁盤 9.

12、13 write 將數(shù)據(jù)寫入已翻開的文件內(nèi) 10文件內(nèi)容操作篇 10.1 clearerr 去除文件流的錯誤旗標(biāo) 10.2fclose 關(guān)閉文件 10.3fdopen 將文件描述詞轉(zhuǎn)為文件指針10.4feof 檢查文件流是否讀到了文件尾10.5fflush 更新緩沖區(qū) 10.6fgetc 由文件中讀取一個字符10.7fgets 由文件中讀取一字符串10.8file no 返回文件流所使用的文件描述詞10.9 fopen 翻開文件 10.10 fputc 將一指定字符寫入文件流中 10.11 fputs 將一指定的字符串寫入文件內(nèi) 10.12 fread 從文件流讀取數(shù)據(jù) 10.13 freop

13、en 翻開文件 10.14 fseek 移動文件流的讀寫位置 10.15 ftell 取得文件流的讀取位置 10.16 fwrite 將數(shù)據(jù)寫至文件流 10.17 getc 由文件中讀取一個字符 10.18 getchar 由標(biāo)準(zhǔn)輸入設(shè)備內(nèi)讀進一字符 10.19 gets 由標(biāo)準(zhǔn)輸入設(shè)備內(nèi)讀進一字符串 10.20 mktemp 產(chǎn)生唯一的臨時文件名 10.21 putc 將一指定字符寫入文件中 10.22 putchar 將指定的字符寫到標(biāo)準(zhǔn)輸出設(shè)備 10.23 rewind 重設(shè)文件流的讀寫位置為文件開頭 10.24 setbuf 設(shè)置文件流的緩沖區(qū) 10.25 setbuffer 設(shè)置文件

14、流的緩沖區(qū) 10.26 setlinebuf 設(shè)置文件流為線性緩沖區(qū) 10.27 setvbuf 設(shè)置文件流的緩沖區(qū) 10.28 ungetc 將指定字符寫回文件流中 11進程操作篇 11.1 atexit 設(shè)置程序正常結(jié)束前調(diào)用的函數(shù) 11.2 execl 執(zhí)行文件 11.3 execlp 從PATH 環(huán)境變量中查找文件并執(zhí)行 11.4 execv 執(zhí)行文件 11.5 execve 執(zhí)行文件 11.6 execvp 執(zhí)行文件 11.7 exit 正常結(jié)束進程 11.8 exit 結(jié)束進程執(zhí)行 11.9 vfork 建立一個新的進程 11.10 getpgid 取得進程組識另U碼 11.11

15、getpgrp 取得進程組識另U碼 11.12 getpid 取得進程識另U碼 11.13 getppid 取得父進程的進程識別碼 11.14 getpriority 取得程序進程執(zhí)行優(yōu)先權(quán) 11.15 nice 改變進程優(yōu)先順序 11 16 on_exit 設(shè)置程序正常結(jié)束前調(diào)用的函數(shù) 11.17 setpgid 設(shè)置進程組識別碼 11.18 setpgrp 設(shè)置進程組識另U碼 11.19 setpriority 設(shè)置程序進程執(zhí)行優(yōu)先權(quán) 11.20 system 執(zhí)行 shell 命令11.21 wait 等待子進程中斷或結(jié)束 11.22 waitpid 等待子進程中斷或結(jié)束 11.23 f

16、printf 格式化輸出數(shù)據(jù)至文件 11.24 fscanf 格式化字符串輸入 11.25 printf 格式化輸出數(shù)據(jù) 11.26 sacnf 格式化字符串輸入 11.27 sprintf 格式化字符串復(fù)制 11.28 sscanf 格式化字符串輸入 11.29 vfprintf 格式化輸出數(shù)據(jù)至文件 11.30 vfscanf 格式化字符串輸入 11.31 vprintf 格式化輸出數(shù)據(jù) 11.32 vscanf 格式化字符串輸入 11.33 vsprintf 格式化字符串復(fù)制 11.34 vsscanf 格式化字符串輸入 12文件權(quán)限控制篇12.1 access 判斷是否具有存取文件的權(quán)

17、限 12.2 alphasort 依字母順序排序目錄結(jié)構(gòu) 12.3 chdir 改變當(dāng)前的工作目錄12.4chmod 改變文件的權(quán)限 12.5chown 改變文件的所有者12.6chroot 改變根目錄 12.7closedir 關(guān)閉目錄 12.8fchdir 改變當(dāng)前的工作目錄12.9fchmod 改變文件的權(quán)限12.10fchown 改變文件的所有者12.11fstat 由文件描述詞取得文件狀態(tài)12.12 ftruncate 改變文件大小 12.13 getcwd 取得當(dāng)前的工作目錄 12.14 link 建立文件連接 12.15 lstat 由文件描述詞取得文件狀態(tài) 12.16 open

18、dir 翻開目錄 12.17 readdir 讀取目錄 12.18 readlink 取得符號連接所指的文件 12.19 remove 刪除文件 12.20 rename 更改文件名稱或位置 12.21 rewinddir 重設(shè)讀取目錄的位置為開頭位置 12.22 seekdir 設(shè)置下回讀取目錄的位置 12.23 stat 取得文件狀態(tài) 12.24 symlink 建立文件符號連接 12.25 telldir 取得目錄流的讀取位置 12.26 truncate 改變文件大小 12.27 umask 設(shè)置建立新文件時的權(quán)限遮罩 12.28 unlink 刪除文件12.29 utime 修改文件

19、的存取時間和更改時間.12.30 utimes 修改文件的存取時間和更改時間13信號處理篇13.1 alarm 設(shè)置信號傳送鬧鐘13.213.313.413.513.613.713.813.9kill 傳送信號給指定的進程 pause 讓進程暫停直到信號出現(xiàn).sigaction 查詢或設(shè)置信號處理方式sigaddset 增加一個信號至信號集.sigdelset 從信號集里刪除一個信號sigemptyset 初始化信號集 sigfillset 將所有信號參加至信號集sigismember 測試某個信號是否已參加至信號集里13.10 signal 設(shè)置信號處理方式 13.11 sigpending

20、 查詢被擱置的信號 13.12 sigprocmask 查詢或設(shè)置信號遮罩 .13.13 sleep 讓進程暫停執(zhí)行一段時間.13.14 ferror 檢查文件流是否有錯誤發(fā)生13.15 perror 打印出錯誤原因信息字符串13.16 strerror 返回錯誤原因的描述字符串13.17 mkfifo 建立具名管道 13.18 pclose 關(guān)閉管道 I/O 13.19 pipe 建立管道 13.20 popen 建立管道 I/O14 接口處理篇14.114.214.314.414.514.6accept 接受 socket 連線 bind 對 socket 定位connect 建立 soc

21、ket 連線endprotoent 結(jié)束網(wǎng)絡(luò)協(xié)議數(shù)據(jù)的讀取 endservent 結(jié)束網(wǎng)絡(luò)效勞數(shù)據(jù)的讀取.OA234567009H18 9 1 1 1 1 1 1 1 1 1 1 一4444444444 441 1 11111 1.11.1.1 11getsockopt 取得 socket 狀態(tài)htonl 將32位主機字符順序轉(zhuǎn)換成網(wǎng)絡(luò)字符順序 htons 將16位主機字符順序轉(zhuǎn)換成網(wǎng)絡(luò)字符順序inet addr 將網(wǎng)絡(luò)地址轉(zhuǎn)成二進制的數(shù)字inet aton 將網(wǎng)絡(luò)地址轉(zhuǎn)成網(wǎng)絡(luò)二進制的數(shù)字 inet ntoa 將網(wǎng)絡(luò)二進制的數(shù)字轉(zhuǎn)換成網(wǎng)絡(luò)地址 listen 等待連接 ntohl 將32位網(wǎng)絡(luò)字

22、符順序轉(zhuǎn)換成主機字符順序 ntohs 將16位網(wǎng)絡(luò)字符順序轉(zhuǎn)換成主機字符順序recv 經(jīng)socket接收數(shù)據(jù) recvfrom 經(jīng) socket 接收數(shù)據(jù)recvmsg 經(jīng) socket 接收數(shù)據(jù) send 經(jīng)socket傳送數(shù)據(jù) sen dmsg 經(jīng)socket傳送數(shù)據(jù) sendto 經(jīng) socket傳送數(shù)據(jù) setprotoent 翻開網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)文件14.22 setserve nt 翻開主機網(wǎng)絡(luò)效勞的數(shù)據(jù)文件 14.23 setsockopt 設(shè)置 socket 狀態(tài)14.24 shutdown 終止 socket 通信14.25 socket建立一個 socket 通信15 環(huán)境變

23、量篇15.1 getenv 取得環(huán)境變量內(nèi)容 15.2 putenv 改變或增加環(huán)境變量 15.3 setenv 改變或增加環(huán)境變量 16 終端控制篇 16.1 getopt 分析命令行參數(shù) 16.2 isatty 判斷文件描述詞是否是為終端機 16.3 select I/O 多工機制16.4 ttyname 返回一終端機名稱 1 char operater1.1 isalnum (測試字符是否為英文或數(shù)字)相關(guān)函數(shù)isalpha,isdigit , islower , isupper表頭文件 #include定義函數(shù) int isalnum (int c)函數(shù)說明 檢查參數(shù) c 是否為英文字

24、母或阿拉伯?dāng)?shù)字, 在標(biāo)準(zhǔn) c 中相當(dāng)于使用 “ isalpha(c) | isdigit(c) 做 測試。返回值假設(shè)參數(shù) c 為字母或數(shù)字,那么返回 TRUE ,否那么返回NULL(0) 。附加說明此為宏定義,非真正函數(shù)。范例/* 找出 str 字符串中為英文字母或數(shù)字的字符 */#include main()char str= 123c#FDsPe? ;int i;for (i=0;stri!=0;i+ )if ( isalnum(stri) printf( “ %c is an alphanumeric characnter ,stri);執(zhí)行1 is an apphabetic char

25、acter2 is an apphabetic character3 is an apphabetic characterc is an apphabetic characterF is an apphabetic characterD is an apphabetic characters is an apphabetic characterP is an apphabetic charactere is an apphabetic character1.2 isalpha (測試字符是否為英文字母)相關(guān)函數(shù) 表頭文件 定義函數(shù) 函數(shù)說明 返回值 附加說明 范例isalnum , islow

26、er , isupper#includeint isalpha (int c)檢查參數(shù) c 是否為英文字母,在標(biāo)準(zhǔn) c 中相當(dāng)于使用“ isupper(c)|islower(c) 做測試。 假設(shè)參數(shù) c 為英文字母,那么返回 TRUE ,否那么返回 NULL(0) 。 此為宏定義,非真正函數(shù)。/* 找出 str 字符串中為英文字母的字符 */#include main()char str= 123c#FDsPe? ;int i;for (i=0;stri!=0;i+)if(isalpha(stri) printf(“ %c is an alphanumenric ,cshtraria);cte

27、r執(zhí)行c is an apphabetic characterF is an apphabetic characterD is an apphabetic characters is an apphabetic characterP is an apphabetic charactere is an apphabetic character1.3 isascii (測試字符是否為 ASCII 碼字符)相關(guān)函數(shù)iscntrl表頭文件#include 定義函數(shù)int isascii(int c);函數(shù)說明檢查參數(shù) c 是否為 ASCII 碼字符,也就是判斷 c 的范圍是否在 0 到 127 之間。

28、返回值假設(shè)參數(shù) c 為 ASCII 碼字符,那么返回 TRUE ,否那么返回 NULL(0) 。附加說明此為宏定義,非真正函數(shù)。范例/* 判斷 int i 是否具有對映的 ASCII 碼字符 */#includemain()int i;for(i=125;i130;i+) if(isascii(i) printf(%d is an ascii character:%cn,i,i);elseprintf(%d is not an ascii charactern,i);執(zhí)行125 is an ascii character:126 is an ascii character:127 is an

29、ascii character:128 is not an ascii character129 is not an ascii character相關(guān)函數(shù)表頭文件1.4 iscntrl (測試字符是否為 ASCII 碼的控制字符)isascii#include 定義函數(shù) int iscntrl(int c) ;函數(shù)說明檢查參數(shù) c 是否為 ASCII 控制碼,也就是判斷 c 的范圍是否在 0 到 30 之間。返回值假設(shè)參數(shù) c 為 ASCII 控制碼,那么返回 TRUE ,否那么返回 NULL(0) 。附加說明 此為宏定義,非真正函數(shù)。1.5 isdigit (測試字符是否為阿拉伯?dāng)?shù)字)相關(guān)

30、函數(shù)isxdigit表頭文件#include定義函數(shù)int isdigit(int c)函數(shù)說明檢查參數(shù) c 是否為阿拉伯?dāng)?shù)字 0 到 9。返回值假設(shè)參數(shù) c 為阿拉伯?dāng)?shù)字,那么返回 TRUE ,否那么返回 NULL(0) 。附加說明此為宏定義,非真正函數(shù)。范例/* 找出 str 字符串中為阿拉伯?dāng)?shù)字的字符*/#include main() char str=123#FDsPe?;int i; for(i=0;stri!=0;i+) if(isdigit(stri) printf(%c is an digit charactern,stri);執(zhí)行1 is an digit character

31、2 is an digit character3 is an digit character1.6 isgraphis (測試字符是否為可打印字符)相關(guān)函數(shù)isprint表頭文件#include TRUE。定義函數(shù)int isgraph (int c)函數(shù)說明檢查參數(shù) c 是否為可打印字符, 假設(shè) c 所對映的 ASCII 碼可打印, 且非空格字符那么返回返回值假設(shè)參數(shù) c 為可打印字符,那么返回TRUE ,否那么返回 NULL(0) 。附加說明此為宏定義,非真正函數(shù)。范例/* 判斷 str 字符串中哪些為可打印字符*/#includemain()char str=a5 ;int i;for(

32、i=0;stri!=0;i+)if(isgraph(stri) printf(str%d is printable character:%dn,i,stri);執(zhí)行str0 is printable character:a str1 is printable character:5 str3 is printable character: str4 is printable character:;1.7 islower (測試字符是否為小寫字母)相關(guān)函數(shù)isalpha, isupper表頭文件#include定義函數(shù)int islower(int c)函數(shù)說明檢查參數(shù) c 是否為小寫英文字母。

33、返回值假設(shè)參數(shù) c 為小寫英文字母,那么返回 TRUE ,否那么返回 NULL(0) 。附加說明此為宏定義,非真正函數(shù)。范例#includemain()char str=123#FDsPe?;int i; for(i=0;stri!=0;i+) if(islower(stri) printf(%c is a lower-case charactern,stri);執(zhí)行c is a lower-case characters is a lower-case charactere is a lower-case character1.8 isprint (測試字符是(否為可打印字符)相關(guān)函數(shù) is

34、graph表頭文件 #include定義函數(shù) int isprint(int c);函數(shù)說明檢查參數(shù) c 是否為可打印字符,假設(shè) c 所對映的 ASCII 碼可打印,其中包含空格字符,那么返回TRUE。返回值假設(shè)參數(shù) c 為可打印字符,那么返回 TRUE ,否那么返回NULL(0)。附加說明此為宏定義,非真正函數(shù)。范例/* 判斷 str 字符串中哪些為可打印字符包含空格字符*/#includemain()char str=a5 ; int i;for(i=0;stri!=0;i+) if(isprint(stri) printf(str%d is printable character:%dn

35、,i,stri);執(zhí)行str0 is printable character:astr1 is printable character:5str2 is printable character:str3 is printable character:str4 is printable character:;1.9 isspace (測試字符是否為空格字符)相關(guān)函數(shù)isgraph表頭文件#include定義函數(shù)int isspace(int c)函數(shù)說明 檢查參數(shù) c 是否為空格字符,也就是判斷是否為空格()、定位字符 (t) 、 CR(r) 、換行 (n)、垂直定位字符(v)或翻頁(f)的情況

36、。返回值假設(shè)參數(shù) c 為空格字符,那么返回 TRUE ,否那么返回 NULL(0) 。附加說明此為宏定義,非真正函數(shù)。范例/*將字符串 str 中內(nèi)含的空格字符找出,并顯示空格字符的ASCII 碼*/#include main()char str=123c # FDtsPe?n; int i;for(i=0;stri!=0;i+) if(isspace(stri) printf(str%d is a white-space character:%dn,i,stri);執(zhí)行str4 is a white-space character:32str7 is a white-space charac

37、ter:32 str10 is a white-space character:9 /* t */ str16 is a white-space character:10 /* t */1.10 ispunct (測試字符是否為標(biāo)點符號或特殊符號)相關(guān)函數(shù)isspace, isdigit , isalpha表頭文件#inlude定義函數(shù)int ispunct(int c)函數(shù)說明檢查參數(shù) c 是否為標(biāo)點符號或特殊符號。返回 TRUE 也就是代表參數(shù) c 為非空格、非數(shù)字和非英文字母。返回值v 假設(shè)參數(shù) c 為標(biāo)點符號或特殊符號,那么返回TRUE ,否那么返回NULL(0) 。附加說明此為宏定義

38、,非真正函數(shù)。范例/*列出字符串 str 中的標(biāo)點符號或特殊符號*/#include main()char str=123c #FDsPe?;int i; for(i=0;stri!=0;i+) if(ispunct(stri) printf(%cn,stri);執(zhí)行v#?1.11 isupper (測試字符是否為大寫英文字母)相關(guān)函數(shù)isalpha, islower表頭文件#include定義函數(shù)int isupper(int c)函數(shù)說明檢查參數(shù) c 是否為大寫英文字母。返回值假設(shè)參數(shù) c 為大寫英文字母,那么返回TRUE ,否那么返回 NULL(0) 。附加說明此為宏定義,非真正函數(shù)。范

39、例/* 找出字符串 str 中為大寫英文字母的字符*/#include main()char str=123c#FDsPe?;int i;for(i=0;stri!=0;i+) if(isupper(stri) printf(%c is an uppercase charactern,stri);執(zhí)行F is an uppercase characterD is an uppercase characterP is an uppercase character1.12isxdigit (測試字符是否為16 進制數(shù)字)相關(guān)函數(shù)isalnum, isdigit表頭文件#include定義函數(shù)int

40、 isxdigit (int c)函數(shù)說明返回值假設(shè)參數(shù) c 為 16 進制數(shù)字,那么返回TRUE ,否那么返回 NULL(0)附加說明此為宏定義,非真正函數(shù)。范例/* 找出字符串 str 中為十六進制數(shù)字的字符 */#include main()char str=123c#FDsPe?;int i; for(i=0;stri!=0;i+) if(isxdigit(stri) printf(%c is a hexadecimal digitsn,stri);執(zhí)行1 is a hexadecimal digits2 is a hexadecimal digits3 is a hexadecima

41、l digitsc is a hexadecimal digitsF is a hexadecimal digitsD is a hexadecimal digitse is a hexadecimal digits2 char convert2.1 atof (將字符串轉(zhuǎn)換成浮點型數(shù))相關(guān)函數(shù)atoi,atol,strtod,strtol, strtoul表頭文件 #include r 定義函數(shù)double atof(const char *nptr);函數(shù)說明atof() 會掃描參數(shù) nptr 字符串,跳過前面的空格字符, 直到遇上數(shù)字或正負符號才開始做轉(zhuǎn)換,而再遇到非數(shù)字或字符串結(jié)束時

42、(0) 才結(jié)束轉(zhuǎn)換,并將結(jié)果返回。參數(shù) nptr 字符串可包含正 負號、小數(shù)點或 E(e) 來表示指數(shù)局部,如 123.456 或 123e-2。返回值返回轉(zhuǎn)換后的浮點型數(shù)。附加說明atof() 與使用 strtod(nptr,(char*)NULL) 結(jié)果相同。范例/* 將字符串 a 與字符串 b 轉(zhuǎn)換成數(shù)字后相加 */#includemain()char *a= -100.23 ;char *b= 20-20e ;float c;c=atof(a)+atof(b);printf( “ c=%n.2f ,c);執(zhí)行c=-98.232.2 atoi (將字符串轉(zhuǎn)換成整型數(shù))相關(guān)函數(shù)atof,

43、atol , atrtod, strtol ,strtoul表頭文件#include定義函數(shù)int atoi(const char *nptr);函數(shù)說明atoi() 會掃描參數(shù) nptr 字符串,跳過前面的空格字符, 直到遇上數(shù)字或正負符號才開始做轉(zhuǎn)換,而再遇到非數(shù)字或字符串結(jié)束時(0)才結(jié)束轉(zhuǎn)換,并將結(jié)果返回。返回值返回轉(zhuǎn)換后的整型數(shù)。附加說明atoi()與使用 strtol(nptr, (char*)NULL , 10);結(jié)果相同。范例/* 將字符串 a 與字符串 b 轉(zhuǎn)換成數(shù)字后相加 */#includemian()char a= -100;char b= 456;int c;c=at

44、oi(a)+atoi(b); n ,c);執(zhí)行c=3562.3 atol (將字符串轉(zhuǎn)換成長整型數(shù))相關(guān)函數(shù)atof, atoi , strtod , strtol , strtoul表頭文件#include定義函數(shù)long atol(const char *nptr);函數(shù)說明atol() 會掃描參數(shù) nptr 字符串,跳過前面的空格字符,直到遇上數(shù)字或正負符號才開始做轉(zhuǎn)換,而再遇到非數(shù)字或字符串結(jié)束時(0)才結(jié)束轉(zhuǎn)換,并將結(jié)果返回。返回值 返回轉(zhuǎn)換后的長整型數(shù)。附加說明 atol() 與使用 strtol(nptr,(char*)NULL,10) ;結(jié)果相同。范例/*將字符串a(chǎn)與字符串b轉(zhuǎn)

45、換成數(shù)字后相加*/#includemain()long c;c=atol(a)+atol(b);printf(“ c=n%d ,c);執(zhí)行2.4 gcvt (將浮點型數(shù)轉(zhuǎn)換為字符串,取四舍五入)相關(guān)函數(shù)ecvt, fcvt, sprintf表頭文件 #include定義函數(shù)char *gcvt(double number , size_t ndigits,char *buf);函數(shù)說明gcvt()用來將參數(shù)number轉(zhuǎn)換成ASCII碼字符串,參數(shù)ndigits表示顯示的位數(shù)。gcvt()與ecvt()和fcvt()不同的地方在于,gcvt()所轉(zhuǎn)換后的字符串包含小數(shù)點或正負符號。假設(shè)轉(zhuǎn)換成功

46、,轉(zhuǎn) 換后的字符串會放在參數(shù) buf 指針?biāo)傅目臻g。返回值返回一字符串指針,此地址即為 buf 指針。附加說明范例#includemain()double a=123.45;double b=-1234.56;char *ptr;int decpt,sign;gcvt(a,5,ptr);printf( “ a value=n%s,ptr);ptr=gcvt(b,6,ptr);執(zhí)行printf( “ b value=n%s ,ptr); a value=123.45b value=-1234.562.5 strtod (將字符串轉(zhuǎn)換成浮點數(shù))相關(guān)函數(shù)atoi,atol,strtod,strto

47、l, strtoul表頭文件#include定義函數(shù)double strtod(const char *nptr,char *endptr);函數(shù)說明strtod() 會掃描參數(shù) nptr 字符串,跳過前面的空格字符,直到遇上數(shù)字或正負符號才開始做轉(zhuǎn)換,到出現(xiàn)非數(shù)字或字符串結(jié)束時(0) 才結(jié)束轉(zhuǎn)換,并將結(jié)果返回。假設(shè)endptr 不為 NULL ,那么會將遇到不合條件而終止的 nptr 中的字符指針由 endptr 傳回。參數(shù) nptr 字符串可包含正負 號、小數(shù)點或 E(e)來表示指數(shù)局部。如123.456或123e-2。返回值返回轉(zhuǎn)換后的浮點型數(shù)。附加說明參考 atof() 。范例/*將字

48、符串 a,b,c 分別采用 10,2,16 進制轉(zhuǎn)換成數(shù)字 */#includemian()char c= ffff ;printf(“ a=n%d,strtod(a,NULL,10);printf(“ b=n%d,strtod(b,NULL,2);printf(“ c=n%d,strtod(c,NULL,16);執(zhí)行b=512c=655352.6 strtol (將字符串轉(zhuǎn)換成長整型數(shù))相關(guān)函數(shù)atof, atoi , atol, strtod , strtoul表頭文件#include定義函數(shù)long int strtol(const char *nptr,char *endptr,int

49、 base);函數(shù)說明strtol()會將參數(shù)nptr字符串根據(jù)參數(shù)base來轉(zhuǎn)換成長整型數(shù)。參數(shù)base范圍從2至36,或0。參數(shù)base代表采用的進制方式,如base值為10那么采用10進制,假設(shè)base值為16那么采用16進制等。當(dāng)base值為0時那么是采用10進制做轉(zhuǎn)換,但遇到如0x前置字符那么會使用16進制做轉(zhuǎn)換。一開始 strtol() 會掃描參數(shù) nptr 字符串,跳過前面的空格字符,直到遇上數(shù)字或正負 符號才開始做轉(zhuǎn)換,再遇到非數(shù)字或字符串結(jié)束時(0)結(jié)束轉(zhuǎn)換,并將結(jié)果返回。假設(shè)參數(shù)endptr不為NULL,那么會將遇到不合條件而終止的nptr中的字符指針由endptr返回。返回值返回轉(zhuǎn)換后的長整型數(shù),否那么返回 ERANGE 并將錯誤代碼存入 errno 中。附加說明 ERANGE 指定的轉(zhuǎn)換字符串超出合法范圍。范例/* 將字符串 a,b,c 分別采用 10,2,16 進制轉(zhuǎn)換成數(shù)字 */ #include main() char c= ffff ; printf( “ a=n%d ,strtol(a,NULL,10); printf( “ b=n%d ,strtol(b,NULL,2); printf( “ c=n%d ,strtol(c,NULL

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論