![字符測試篇教程_第1頁](http://file4.renrendoc.com/view10/M01/2A/3B/wKhkGWWGQaGAXAqYAAGyEyhbB10482.jpg)
![字符測試篇教程_第2頁](http://file4.renrendoc.com/view10/M01/2A/3B/wKhkGWWGQaGAXAqYAAGyEyhbB104822.jpg)
![字符測試篇教程_第3頁](http://file4.renrendoc.com/view10/M01/2A/3B/wKhkGWWGQaGAXAqYAAGyEyhbB104823.jpg)
![字符測試篇教程_第4頁](http://file4.renrendoc.com/view10/M01/2A/3B/wKhkGWWGQaGAXAqYAAGyEyhbB104824.jpg)
![字符測試篇教程_第5頁](http://file4.renrendoc.com/view10/M01/2A/3B/wKhkGWWGQaGAXAqYAAGyEyhbB104825.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Linux常用C函數(shù)(中文版Linux常用C函數(shù)(中文版Linux你好!本人有幸在坊間得到一名為“LinuxC函數(shù)再次多謝編寫“LinuxC函數(shù)參考”的朋友。/content/develop/c&c++/linux_c/default.htm(1/8頁)2006-1-1Linux常用C函數(shù)(中文Linux常用C函數(shù)(中文版/content/develop/c&c++/linux_c/default.htm(2/8頁)2006-1-1Linux常用C函數(shù)(中Linux常用C函數(shù)(中文版/content/develop/c&c++/linux_c/default.htm(3/8頁)2006-1-1Linux常用C函數(shù)(中文版Linux常用C函數(shù)(中文版/content/develop/c&c++/linux_c/default.htm(4/8頁)2006-1-1Linux常用C函數(shù)(中Linux常用C函數(shù)(中文版/content/develop/c&c++/linux_c/default.htm(5/8頁)2006-1-1Linux常用C函數(shù)(中Linux常用C函數(shù)(中文版/content/develop/c&c++/linux_c/default.htm(6/8頁)2006-1-1Linux常用C函數(shù)(中Linux常用C函數(shù)(中文版/content/develop/c&c++/linux_c/default.htm(7/8頁)2006-1-1Linux常用C函數(shù)(中文Linux常用C函數(shù)(中文版/content/develop/c&c++/linux_c/default.htm(8/8頁)2006-1-1UntitledUntitled相關(guān)函數(shù)isalpha,isdigit,islower,isupper定義函intisalnum(int函數(shù)說明檢查參數(shù)c是否為英文字母或阿拉伯?dāng)?shù)字,在標(biāo)準(zhǔn)c中相當(dāng)于使用“isalpha(c)||isdigit返回值若參數(shù)c為字母或數(shù)字,則返回TRUE,否則返回NULL(0)。附加說明此為宏定義,非真正函數(shù)。*出str符串中為英文字母或數(shù)字的字符*/#includectype.h>{charstr[]=”123c@#FDsP[e?”;inti;for(i=0;str[i]!=0;i++if(isalnum(str[i]))printf(“%cisanalphanumeric}1isanapphabeticcharacter2isanapphabeticcharacter3isanapphabeticcharactercisanapphabeticcharacterFisanapphabeticcharacterDisanapphabeticcharactersisanapphabeticcharacterPisanapphabeticcharactereisanapphabeticcharacterisalpha(測試字符是否為英文字母)相關(guān)函數(shù)isalnum,islower,isupper定義函數(shù)intisalpha(int函數(shù)說明檢查參數(shù)c是否為英文字母,在標(biāo)準(zhǔn)c中相當(dāng)于使用“isupper(c)||islower(c)”做測試。返回值若參數(shù)c為英文字母,則返回TRUE,否則返回NULL(0)。附加說 此為宏定義,非真正函數(shù)/content/develop/c&c++/linux_c/function/01.html(第1/7頁)2006-1-1UntitledUntitled#include<ctype.h>{charstr[]=”123c@#FDsP[e?”;inti;for}cisanapphabeticcharacterFisanapphabeticcharacterDisanapphabeticcharactersisanapphabeticcharacterPisanapphabeticcharactereisanapphabeticcharacterisascii(測試字符是否為ASCII碼字符)相關(guān)函數(shù)iscntrl定義函數(shù)intisascii(intc);函數(shù)說明檢查參數(shù)c是否為ASCII碼字符,也就是判斷c的范圍是否在0到127之間。返回值若參數(shù)c為ASCII碼字符,則返回TRUE,否則返回NULL(0)。附加說 此為宏定義,非真正函數(shù)*斷inti是否具有對映的ASCII碼字符*/{inti;}126isanasciicharacter:~127isanasciicharacter:/content/develop/c&c++/linux_c/function/01.html(第頁)2006-1-1Untitlediscntrl(測試字符是否為ASCII碼的控制字符)相Untitlediscntrl(測試字符是否為ASCII碼的控制字符)相關(guān)函數(shù)isascii定義函數(shù)intiscntrl(int函數(shù)說明檢查參數(shù)c是否為ASCII控制碼,也就是判斷c的范圍是否在0到30之間。返回值若參數(shù)c為ASCII控制碼,則返回TRUE,否則返回NULL(0)。附加說 此為宏定義,非真正函數(shù)相關(guān)函數(shù)isxdigit定義函數(shù)intisdigit(intc)函數(shù)說明檢查參數(shù)c是否為阿拉伯?dāng)?shù)字0到9返回值若參數(shù)c為阿拉伯?dāng)?shù)字,則返回TRUE,否則返回NULL(0)。附加說明此為宏定義,非真正函數(shù)。*出str字符串中為阿拉伯?dāng)?shù)字的字符*/{charstr[]="123@#FDsP[e?";inti;if(isdigit(str[i]))printf("%cisandigit}1isandigitcharacter2isandigitcharacter3isandigit相關(guān)函數(shù)isprint定義函數(shù)intisgraph(intc)函數(shù)說明檢查參數(shù)c是否為可打印字符,若c所對映的ASCII碼可打印,且非空格字符則返回返回值若參數(shù)c為可打印字符,則返回TRUE,否則返回NULL(0)。附加說明此為宏定義,非真正函數(shù)。/content/develop/c&c++/linux_c/function/01.html(第3/7頁)2006-1-1Untitled*Untitled*斷str字符串中哪些為可打印字符*/{charstr[]="a5@;";inti;if(isgraph(str[i]))printf("str[%d]isprintable}執(zhí)行str[0]isprintablecharacter:astr[1]isprintablecharacter:5str[3]isprintablecharacter:@str[4]isprintablecharacter:;相關(guān)函數(shù)isalpha,isupper定義函數(shù)intislower(intc)函數(shù)說 檢查參數(shù)c是否為小寫英文字母返回值若參數(shù)c為小寫英文字母,則返回TRUE,否則返回NULL(0)。附加說明此為宏定義,非真正函數(shù)。#include<ctype.h>{charstr[]="123@#FDsP[e?";inti;if(islower(str[i]))printf("%cisalower-case}執(zhí)行cisalower-casecharacter相關(guān)函數(shù)isgraph定義函數(shù)intisprint(intc);/content/develop/c&c++/linux_c/function/01.html(第4/7頁)2006-1-1UntitledUntitled若參數(shù)c為可打印字符,則返回TRUE,否則返回NULL(0)附加說明此為宏定義,非真正函數(shù)*斷str字符串中哪些為可打印字符包含空格字符*/{charstr[]="a5@;";inti;if(isprint(str[i]))printf("str[%d]isprintable}執(zhí)行str[0]isprintablecharacter:astr[1]isprintablecharacter:5str[2]isprintablecharacter:str[3]isprintablecharacter:@str[4]isprintablecharacter:;相關(guān)函數(shù)isgraph定義函數(shù)intisspace(intc)函數(shù)說明檢查參數(shù)c是否為空格字符,也就是判斷是否為空格('')、定位字符('\t')、CR('\r')、換行返回值若參數(shù)c為空格字符,則返回TRUE,否則返回NULL(0)。附加說明此為宏定義,非真正函數(shù)。/*將字符串str[]中內(nèi)含的空格字符找出,并顯示空格字符的ASCII碼*/#include<ctype.h>{charstr="123c@#FD\tsP[e?\n";inti;printf("str[%d]isawhite-space}執(zhí)行str[4]isawhite-spacecharacter:32str[7]isawhite-spacestr[10]isawhite-spacecharacter:9/*\t*/str[16]isawhite-spacecharacter:10/*\t*//content/develop/c&c++/linux_c/function/01.html(第5/7頁)2006-1-1Untitled相關(guān)函數(shù)Untitled相關(guān)函數(shù)isspace,isdigit,isalpha定義函數(shù)intispunct(intv若參數(shù)c為標(biāo)點(diǎn)符號或特殊符號,則返回TRUE,否則返回NULL(0)附加說明此為宏定義,非真正函數(shù)/*列出字符串str中的標(biāo)點(diǎn)符號或特殊符號*/#include<ctype.h>{charstr[]="123c@#FDsP[e?";inti;if(ispunct(str[i]))printf("%c\n",str[i]);}執(zhí)行相關(guān)函數(shù)isalpha,islower定義函數(shù)intisupper(intc)函數(shù)說 檢查參數(shù)c是否為大寫英文字母返回值若參數(shù)c為大寫英文字母,則返回TRUE,否則返回NULL(0)。附加說明此為宏定義,非真正函數(shù)。/*找出字符串str中為大寫英文字母的字符*/#include<ctype.h>{charstr[]="123c@#FDsP[e?";inti;if(isupper(str[i]))printf("%cisanuppercase}/content/develop/c&c++/linux_c/function/01.html(第6/7頁)2006-1-1UntitledUntitledDisanuppercasecharacter相關(guān)函isalnum,isdigit定義函數(shù)intisxdigit(intc)函數(shù)說明檢查參數(shù)c是否為16進(jìn)制數(shù)字,只要c為下列其中一個情況則返回TRUE。16進(jìn)制數(shù)返回值若參數(shù)c為16進(jìn)制數(shù)字,則返回TRUE,否則返回NULL(0)。附加說明此為宏定義,非真正函數(shù)。/*找出字符串str中為十六進(jìn)制數(shù)字的字符*/#include<ctype.h>{charstr[]="123c@#FDsP[e?";inti;if(isxdigit(str[i]))printf("%cisahexadecimal}1isahexadecimaldigits2isahexadecimaldigits3isahexadecimaldigitscisahexadecimaldigitsFisahexadecimaldigitsDisahexadecimaldigitseisahexadecimaldigits/content/develop/c&c++/linux_c/function/01.html(7/7頁)2006-1-1UntitledUntitled相關(guān)函數(shù)malloc,free,realloc,brk表頭文件#include<stdlib.h>定義函數(shù)void*calloc(size_tnmemb,size_t函數(shù)說明caoc()用來配置nmemb個相鄰的內(nèi)存單位,每一單位的大小為size,并返回指向第一個元素的指針。這和使用下列的方式效果相同:malloc(nmemb*size);不過,在利用calloc()配置內(nèi)存時會將內(nèi)存內(nèi)容初始化為0。返回值若配置成功則返回一指針,失敗則返回NULL。范例/*動態(tài)配置10個structtest空間*/structtest{inta[10];}{structtest*ptr=calloc(sizeof(struct}相關(guān)函數(shù)malloc,calloc,realloc,brk表頭文#include<stdlib.h>voidfree(void函數(shù)說明參數(shù)pr為指向先前由maloc()、clloc()或ealoc()所返回的內(nèi)存指針。調(diào)用re()后ptr的內(nèi)存空間便會被收回。假若參數(shù)tr所指的內(nèi)存空間已被收回或是未知的內(nèi)存地址,則調(diào)用freeptr為NUL,則free()不會有任何作用。相關(guān)函數(shù)sbrk表頭文件定義函數(shù)size_t 返回值內(nèi)存分頁大小。附加說明在Intelx86上其返回值應(yīng)為4096bytes/content/develop/c&c++/linux_c/function/03.html(第1/4頁)2006-1-1UntitledUntitled{}相關(guān)函數(shù)calloc,free,realloc,brk表頭文#include<stdlib.h>定義函數(shù)void*malloc(size_t函數(shù)說明malloc()用來配置內(nèi)存空間,其大小由指定的size決定。返回值若配置成功則返回一指針,失敗則返回NULL。范例voidpmalloc(1024);*配置1k的內(nèi)存相關(guān)函數(shù)munmap,openinclude#include定義函數(shù)void*mmap(void*start,size_tlength,intprot,intflags,intfd,off_t函數(shù)說明mma)用來將某個文件內(nèi)容映射到內(nèi)存中,對該內(nèi)存區(qū)域的存取即是直接對該文件內(nèi)容的讀寫。參數(shù)stat指向欲對應(yīng)的內(nèi)存起始地址,通常設(shè)為ULL,代表讓系統(tǒng)自動選定地址,對應(yīng)成功后該地址會返回。參數(shù)lengt代表將文件中多大的部分對應(yīng)到內(nèi)存。參數(shù)prot代表映射區(qū)域的保護(hù)方式有下列組合PROT_EXEC映射區(qū)域可被執(zhí)行PROT_READ映射區(qū)域可被讀取PROT_WRITE映射區(qū)域可被寫入PROT_NONE映射區(qū)域不能存取/content/develop/c&c++/linux_c/function/03.html(第頁)2006-1-1Untitled參數(shù)flagsUntitled參數(shù)flagsMAP_FIXED如果參數(shù)start所指的地址無法成功建立映射時,則放棄映射,不對地址做修MAP_SHARED共享。MAP_PRIVATE映射區(qū)域的寫入操作會產(chǎn)生一個映射文件的復(fù)制,即私人的“寫入時復(fù)制”(copyonwrite)對此區(qū)域作的任何修改都不會寫回原來的文件內(nèi)容。法和其他進(jìn)程共享只允許對映射區(qū)域的寫入操作,其他對文件直接寫入的操作將會被拒絕MAP_LOCKED將映射區(qū)域鎖定住,這表示該區(qū)域不會被置換(swap)在調(diào)用mmp()時必須要指定MAP_SHARD或MAP_PRVATE。參數(shù)fd為pen()返回的文件描述詞,代表欲映射到內(nèi)存的文件。參數(shù)ofset為文件映射的偏移量,通常設(shè)置為0,代表從文件最前方開始對應(yīng),offset必須是分頁大小的整數(shù)倍。返回值若映射成功則返回映射區(qū)的內(nèi)存起始地址,否則返回MAP_FAILED(-1),錯誤原因存于errno中。錯誤代碼EBADF參數(shù)fdEACCES存取權(quán)限有誤。如果是MAP_PRIVATE情況下文件必須可讀,使用EINVAL參數(shù)start、lengthoffset有一個不合法。EAGAIN文件被鎖住,或是有太多內(nèi)存被鎖住。ENOMEM內(nèi)存不足。范例/*利用mmap()來讀取/etc/passwd文件內(nèi)容*/{intvoid*start;fd=open(“/etc/passwd”,O_RDONLY);/*打開/etc/passwd*/fstat(fd,&sb);/*取得文件大小*/if(start==MAP_FAILED)/*判斷是否映射成功*/munma(start,sb.st_size);/*解除映射*/}/content/develop/c&c++/linux_c/function/03.html(第3/4頁)2006-1-1Untitledrootx0Untitledrootx0rootrootbin/bashbinx11binbin:daemon:x:2:2:daemon:/sbinadm:x:3:4:adm:/var/admlp:x:4:7:lp:/var/spool/lpdsync:x:5:0:sync:/sbin:bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:news:x:9:13:news:/var/spool/news:uucp:x:10:14:uucp:/var/spool/uucp:operator:x:11:0:operator:/root:games:x:12:100:games:/usr/games:gopher:x:13:30:gopher:/usr/lib/gopher-data:ftp:x:14:50:FTPUser:/home/ftp:nobody:x:99:99:Nobody:xfs:x:100:101:XFontServer:/etc/xll/fs:/bin/falsegdm:x:42:42::/home/gdm:/bin/bashkids:x:500:500:/home/kids:相關(guān)函數(shù)mmap表頭文件定義函數(shù)intmunmap(void*start,size_t小。當(dāng)進(jìn)程結(jié)束或利用exec應(yīng)的文件描述詞時不會解除映射。如果解除映射成功則返回0,否則返回-1,錯誤原因存于errno中錯誤代碼start或length合法范例參考/content/develop/c&c++/linux_c/function/03.html(第4/4頁)2006-1-1Untitled相關(guān)函數(shù)bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmpUntitled相關(guān)函數(shù)bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp表頭文件#include<string.h>定義函數(shù)intbcmpconstvoid*s1,constvoid*s2,int函數(shù)說明bcmp()用來比較s1和s2所指的內(nèi)存區(qū)間前n個字節(jié),若參數(shù)n為0,則返回0。返回參數(shù)s1s2指的內(nèi)存內(nèi)容都完全相同則返回0否則返回非零值。附加說明建議使用memcmp()取代。范例參考memcmp()。相關(guān)函數(shù)memccpy,memcpy,memmove,strcpy,ctrncpy表頭文件#include<string.h>定義函數(shù)voidbcopy(constvoid*src,void*dest,int函數(shù)說明bcopy()與memcpy()一樣都是用來拷貝src所指的內(nèi)存內(nèi)容前n個字節(jié)到dest所指的地址,不附加說明建議使用memcpy()取代include<string.h>{chardest[30]=”string(a)”;charsrc[30]=”string\0string”;inti;bcopy(src,dest,30);/*src指針放在前*/printf(bcopy():“)memcpy(destsrc,30);/*dest指針放在錢*/printf(‘\nmemcpy():“);執(zhí)行bcopy(stringstringmemcpy():stringsringbzero(將一段內(nèi)存內(nèi)容全清為零/content/develop/c&c++/linux_c/function/05.html(第頁)2006-1-1Untitled相關(guān)函數(shù)表Untitled相關(guān)函數(shù)表頭文件定義函數(shù)voidbzero(void*s,int函數(shù)說明bzero()會將參數(shù)s所指的內(nèi)存區(qū)域前n個字節(jié),全部設(shè)為零值。相當(dāng)于調(diào)用memset((void*)建議使用memset取代范例參考memset()。相關(guān)函數(shù)rindex,srechr,strrchr表頭文件定義函數(shù)char*index(constchar*s,int如果找到指定的字符則返回該字符所在地址,否則返回0include<string.h>{char*scharp}執(zhí)行memccpy(拷貝內(nèi)存內(nèi)容相關(guān)函數(shù)bcopy,memcpy,memmove,strcpy,strncpy表頭文件#include<string.h>定義函數(shù)void*memccpy(void*dest,constvoid*src,intc,size_t函數(shù)說明memccpysc所指的內(nèi)存內(nèi)容前n個字節(jié)到des所指的地址上。與mmcpy的是,memccpy()會在復(fù)制時檢查參數(shù)c是否出現(xiàn),若是則返回dest中值為c地址。返回值返回指向dest中值為c的下一個字節(jié)指針。返回值為0表示在src所指內(nèi)存前n個字節(jié)中沒有值/content/develop/c&c++/linux_c/function/05.html(第2/14頁)2006-1-1Untitled#include<string.h>{charcharb[]="string(b)";Untitled#include<string.h>{charcharb[]="string(b)";}執(zhí)行memchr(在某一內(nèi)存范圍中查找一特定字符相關(guān)函數(shù)index,rindex,strchr,strpbrk,strrchr,strsep,strspn,strstr表頭文件#include<string.h>定義函數(shù)void*memchr(constvoid*s,intc,size_tmemchr()從頭開始搜尋s所指的內(nèi)存內(nèi)容前n個字節(jié),直到發(fā)現(xiàn)第一個值為c如果找到指定的字節(jié)則返回該字節(jié)的指針,否則返回0#includestring.h>{charchar*p;}執(zhí)行相關(guān)函數(shù)bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp表頭文件#include<string.h>定義函數(shù)intmemcmpconstvoid*s1,constvoid*s2,size_t函數(shù)說明memcmp()用來比較s1和s2所指的內(nèi)存區(qū)間前n個字符。字符串大小的比較是以ASCIp()首先將s1第一個字符值減去s20則再繼續(xù)比較下個字符,若差值不為0則將差值返回。例如,字符串"Ac"和"ba"比較則會返回字符'A'(65'b'(98)的差值(-33)。返回值若參數(shù)s1和s2所指的內(nèi)存內(nèi)容都完全相同則返回0值。s1若大于s2則返回大于0的值。s1若/content/develop/c&c++/linux_c/function/05.html(第3/14頁)2006-1-1Untitled#include<string.h>{Untitled#include<string.h>{char*a="aBcDeF";char*b="AbCdEf";char*c="aacdef";執(zhí)行memcmp(a,b):1/*字符串a(chǎn)>字符串b,返回1*/memcmp(a,c):-1/*字符串a(chǎn)<字符串c,返回-1*/memcmp(a,d):0/*字符串a(chǎn)=字符串d,返回0*/memcpy(拷貝內(nèi)存內(nèi)容相關(guān)函數(shù)bcopy,memccpy,memcpy,memmove,strcpy,strncpy表頭文件#include<string.h>定義函數(shù)void*memcpy(void*destconstvoid*src,size_t函數(shù)說明memcpy()用來拷貝src所指的內(nèi)存內(nèi)容前n個字節(jié)到dest所指的內(nèi)存地址上。與strcpy()不同返回值返回指向dest附加說明指針src和dest所指的內(nèi)存區(qū)域不可重疊。include<string.h>{chara[30]="string(a)";charb[30]="string\0string";inti;printf("\nmemcpy():");}執(zhí)行strcpy():stringa)/content/develop/c&c++/linux_c/function/05.html(頁)2006-1-1Untitledmemmove(拷貝內(nèi)存內(nèi)容相關(guān)函數(shù)bcopy,memccpy,memcpy,strcpy,strncpy表頭文件#include<string.h>Untitledmemmove(拷貝內(nèi)存內(nèi)容相關(guān)函數(shù)bcopy,memccpy,memcpy,strcpy,strncpy表頭文件#include<string.h>定義函數(shù)void*memmove(void*dest,constvoid*src,size_t函數(shù)說明memmov)與mmcpy()一樣都是用來拷貝sc所指的內(nèi)存內(nèi)容前n個字節(jié)到est所指的地址上。不同的是,當(dāng)src和est所指的內(nèi)存區(qū)域重疊時,memmove()仍然可以正確的處理,不過執(zhí)行效率上會比使用memcpy()略慢些。返回值返回指向dest附加說明指針src和dest所指的內(nèi)存區(qū)域可以重疊。范例參考memcpy()。相關(guān)函bzero,swab表頭文件定義函數(shù)void*memsetvoid*sintc,size_t返回指向s附加說明參數(shù)c雖聲明為int,但必須是unsignedchar,所以范圍在0到255之間。范例#include<string.h>{charmemset(s,'A',sizeof(s));}執(zhí)行rndex(查找字符串中最后一個出現(xiàn)的指定字符)相關(guān)函數(shù)index,mchr,strchr,srrchr表頭文件定義函數(shù)char*rindexconstchar*s,int如果找到指定的字符則返回該字符所在的地址,否則返回0/content/develop/c&c++/linux_c/function/05.html(第5/14頁)2006-1-1Untitled#includeUntitled#includestring.h>{char*schar*p;}執(zhí)行相關(guān)函數(shù)bcmp,memcmp,strcmp,strcoll,strncmp表頭文件#include<string.h>定義函數(shù)intstrcasecmp(constchar*s1,constchar函數(shù)說明strcasecmp()用來比較參數(shù)s1和s2返回值若參數(shù)s1和s2字符串相同則返回0。s1長度大于s2長度則返回大于0的值,s1長度若小于s2#includestring.h>{char*a="aBcDeF";char*b="AbCdEf";}執(zhí)行strcat(連接兩字符串相關(guān)函數(shù)bcopy,memccpy,memcpy,strcpy,strncpy表頭文件#include<string.h>函數(shù)說明strcat()會將參數(shù)src字符串拷貝到參數(shù)dest所指的字符串尾。第一個參數(shù)dest要有足夠的空返回值返回參數(shù)dest/content/develop/c&c++/linux_c/function/05.html(第6/14頁)2006-1-1Untitled#includestring.h.>Untitled#includestring.h.>{charcharb[]="string(2)";printf("beforestrcat():%s\n",a);printf("afterstrcat():}執(zhí)行beforestrcatafterstrcat():strchr(查找字符串中第一個出現(xiàn)的指定字符相關(guān)函數(shù)index,memchr,rinex,strbrk,strsep,strspn,strstr,strtok表頭文件#include<string.h>定義函數(shù)char*strchr(constchar*s,intstrchr()用來找出參數(shù)s字符串中第一個出現(xiàn)的參數(shù)c返回值如果找到指定的字符則返回該字符所在地址,否則返回0。范例#include<string.h>{charchar*p;}執(zhí)行strcmp(比較字符串相關(guān)函數(shù)bcmp,memcmp,strcasecmp,strncasecmp,strcoll表頭文件#include<string.h>定義函數(shù)intstrcmp(constchar*s1,constchar函數(shù)說明srcmp()用來比較參數(shù)s1和s2字符串。字符串大小的比較是以ASCI此順序亦為字符的值。strcmp()首先將s1第一個字符值減去s2第一個字符值,若差值為0則再繼續(xù)比較下個字符,若差值不為0則將差值返回。例如字符串"Ac"和"ba"比較則會返回字符"A"(65)和'b'(98)的差值(-33)。返回值若參數(shù)s1和s2字符串相同則返回0。s1若大于s2則返回大于0的值。s1若小于s2則返回小于0/content/develop/c&c++/linux_c/function/05.html(第7/14頁)2006-1-1Untitled#include<string.h>Untitled#include<string.h>{char*a="aBcDeF";char*b="AbCdEf";char*c="aacdef";printf("strcmp(a,b):printf("strcmp(a,c):printf("strcmp(a,d):}執(zhí)行strcmp(a,b)32strcmp(a,c):-strcmp(a,d):strcoll(采用目前區(qū)域的字符排列次序來比較字符串)相關(guān)函數(shù)strcmpbp,mecmp,strcaep,strncasecmp表頭文件定義函數(shù)intstrcoll(constchar*s1,constchar函數(shù)說明strcoll()會依環(huán)境變量LC_COLLATE所指定的文字排列次序來比較s1和s2返回值若參數(shù)s1和s2字符串相同則返回0。s1若大于s2則返回大于0的值。s1若小于s2則返回小于0附加說明若LC_COLLATE為"POSIX"或"C",則strcoll()與strcmp()作用完全相同。范例參考strcmp()。strcpy(拷貝字符串相關(guān)函數(shù)bcopy,memcpy,memccpy,memmove表頭文件#include<string.h>定義函數(shù)char*strcpy(char*dest,constchar函數(shù)說明strcpy()會將參數(shù)src字符串拷貝至參數(shù)dest所指的地址。返回值返回參數(shù)dest的字符串起始地址。附加說明如果參數(shù)dest所指的內(nèi)存空間不夠大,可能會造成緩沖溢出(bufferOverflow)的錯誤情況,/content/develop/c&c++/linux_c/function/05.html(第8/14頁)2006-1-1Untitled#include<string.h>{charUntitled#include<string.h>{charcharb[]="string(2)";printf("beforestrcpy():%s\n",a);printf("afterstrcpy()}執(zhí)行beforestrcpy():string(1)afterstrcpyn(返回字符串中連續(xù)不含指定字符串內(nèi)容的字符數(shù)表頭文件定義函數(shù)size_tstrcspn(constchar*s,constchar*函數(shù)說明scsn()從參數(shù)s字符串的開頭計算連續(xù)的字符,而這些字符都完全不在參數(shù)eect字符串中。簡單地說,若srcsp()返回的數(shù)值為n,則代表字符串s開頭連續(xù)有n個字符都不含字符串rejec內(nèi)的字符。返回值返回字符串s開頭連續(xù)不含字符串reject內(nèi)的字符數(shù)目。范例#include<string.h>{char*str="Linuxwasfirstdevelopedfor386/486-basedpcs.";printf("%d\n",strcspn(str,""));}執(zhí)行5*“Linux”的長度33/*計算到出現(xiàn)“/”或“-”,所以返回到“6”的長度30/*計算到出現(xiàn)數(shù)字字符為止,所以返回“3”出現(xiàn)前的長度相關(guān)函數(shù)calloc,malloc,realloc,free表頭文件#include<string.h>定義函數(shù)char*strdupconstcharstrdup()會先用maolloc()配置與參數(shù)s字符串相同的空間大小,然后將參數(shù)s返回一字符串指針,該指針指向復(fù)制后的新字符串地址。若返回NULL/content/develop/c&c++/linux_c/function/05.html(第9/14頁)2006-1-1Untitled#include<string.h>Untitled#include<string.h>{chara[]="strdup";char*b;printf("b[}執(zhí)行b表頭文件定義函數(shù)size_tstrlenconstchar函數(shù)說明strlen()用來計算指定的字符串s的長度,不包括結(jié)束字符"\0"。返回值返回字符串s的字符數(shù)。*取得字符串str的長度*/{printf("strlength=%d\n",}執(zhí)行strlengthstrncasecmp(忽略大小寫比較字符串相關(guān)函數(shù)bcmp,memcmp,strcmp,strcoll,strncmp表頭文件#include<string.h>定義函數(shù)intstrncasecmp(constchar*s1,constchar*s2,size_t函數(shù)說明strncasecmp()用來比較參數(shù)s1和s2字符串前n個字符,比較時會自動忽略大小寫的差異。返回值若參數(shù)s1和s2字符串相同則返回0。s1若大于s2則返回大于0的值,s1若小于s2則返回小于0/content/develop/c&c++/linux_c/function/05.html(第10/14頁)2006-1-1Untitled#include<string.h>Untitled#include<string.h>{char*a="aBcDeF";char*b="AbCdEf";printf("%s=%s\n",a,b);}執(zhí)行strncat(連接兩字符串相關(guān)函數(shù)bcopy,memccpy,memecpy,strcpy,strncpy表頭文件#inclue<string.h>定義函數(shù)char*strncat(char*dest,constchar*src,size_t函數(shù)說明strncat()會將參數(shù)src字符串拷貝n個字符到參數(shù)dest所指的字符串尾。第一個參數(shù)dest要有返回值返回參數(shù)dest的字符串起始地址。范例#include<string.h>{charcharb[]="string(2)";printf("beforestrnact():%s\n",a);printf("afterstrncat():%s\n",}執(zhí)行beforestrnactstring(1)strncpy(拷貝字符串相關(guān)函數(shù)bcopy,memccpy,memcpy,memmove表頭文件#include<string.h>定義函數(shù)char*strncpy(char*dest,constchar*src,size_t函數(shù)說明strncpy()會將參數(shù)src字符串拷貝前n個字符至參數(shù)dest所指的地址。返回值返回參數(shù)dest的字符串起始地址。/content/develop/c&c++/linux_c/function/05.html(第11/14頁)2006-1-1Untitled#incluestring.h>Untitled#incluestring.h>{charcharb[]="string(2)";printf("beforestrncpy():%s\n",a);printf("afterstrncpy():}執(zhí)行beforestrncpy()string(1)afterstrncpy()strpbrk(查找字符串中第一個出現(xiàn)的指定字符相關(guān)函數(shù)index,memchr,rindex,strpbrk,strsep,strspn,strstr,strtok表頭文件#include<include.h>定義函數(shù)char*strpbrk(constchar*s,constchar函數(shù)說明strpbrk()用來找出參數(shù)s字符串中最先出現(xiàn)存在參數(shù)accept字符串中的任意字符。返回值如果找到指定的字符則返回該字符所在地址,否則返回0。#includestring.h>{charcharp=strprk(s,"4398");/*3會最先在s字符串中找到*/執(zhí)行strrchr(查找字符串中最后出現(xiàn)的指定字符相關(guān)函數(shù)index,memchr,rindex,strpbrk,strsep,strspn,strstr,strtok表頭文件#include<string.h>定義函數(shù)char*strrchr(constchar*s,int如果找到指定的字符則返回該字符所在地址,否則返回0/content/develop/c&c++/linux_c/function/05.html(第12/14頁)2006-1-1Untitled#include<string.h>Untitled#include<string.h>{charchar*p;}執(zhí)行srspn(返回字符串中連續(xù)不含指定字符串內(nèi)容的字符數(shù))相關(guān)函數(shù)stcspnschstbksspsrstr表頭文件定義函數(shù)size_tstrspn(constchar*s,constchar*函數(shù)說明strspn()從參數(shù)s字符串的開頭計算連續(xù)的字符,而這些字符都完全是accept的字符。簡單的說,若srsn()返回的數(shù)值為n,則代表字符串s開頭連續(xù)有n個字符都是屬于字符串a(chǎn)ccept內(nèi)的字符。返回值返回字符串s開頭連續(xù)包含字符串a(chǎn)ccept內(nèi)的字符數(shù)目。include<string.h>{char*str="Linuxwasfirstdevelopedfor386/486-basedchar*t1="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";}執(zhí)行5/*計算大小寫字母。不包含“”,所以返回Linux的長度。strstr(在一字符串中查找指定的字符串相關(guān)函數(shù)index,memchr,rindex,strchr,strpbrk,strsep,strspn,strtok表頭文件#include<string.h>定義函數(shù)char*strstr(constchar*haystack,constchar函數(shù)說明strstr()會從字符串haystack中搜尋字符串needle,并將第一次出現(xiàn)的地址返回。返回值返回指定字符串第一次出現(xiàn)的地址,否則返回0。/content/develop/c&c++/linux_c/function/05.html(第13/14頁)2006-1-1Untitled#include<string.h>Untitled#include<string.h>{charp=}執(zhí)行strtok(分割字符串相關(guān)函數(shù)index,memchr,rindex,strpbrk,strsep,strspn,strstr表頭文件#include<string.h>定義函數(shù)char*strtok(char*s,constchar函數(shù)說明strtok()用來將字符串分割成一個個片段。參數(shù)s指向欲分割的字符串,參數(shù)delimdelim的分割字符時則會將該字符改為\0字符。在第一次調(diào)用時,strtok()必需給予參數(shù)s字符串,往后的調(diào)用則將參數(shù)s設(shè)置成ULL。每次調(diào)用成功則返回下一個分割后的字符串指針。 范例#include<string.h>{chars[]="ab-cd:ef;gh:i-jkl;mnop;qrs-tu:vwx-y;z";char*delim="-:";charprintf("%s";strtok(s,delim));while((p=strtok(NULL,delim)))printf("%s",p);}執(zhí)abcdef;ghijkl;mnop;qrstuvwxy;z/*-與:字符已經(jīng)被\0字符取代/content/develop/c&c++/linux_c/function/05.html(第14/14頁)2006-1-1UntitledUntitled相關(guān)函數(shù)atoi,atol,strtod,strtol,strtoul表頭文件#include<stdlib.h>定義函數(shù)doubleatof(constchar函數(shù)說明atof()會掃描參數(shù)nptr字符串,跳過前面的空格字符,直到遇上數(shù)字或正負(fù)符號才開始做轉(zhuǎn)換,而再遇到非數(shù)字或字符串結(jié)束時('\0nptr可包含正負(fù)號、小數(shù)點(diǎn)或E(e)來表示指數(shù)部分,如123.456或123e-2。返回值附加說明atof()與使用strtod(nptr,(char**)NULL)結(jié)果相同。范例/*將字符串a(chǎn)與字符串b轉(zhuǎn)換成數(shù)字后相加*/{char*a=”-100.23”;char*b=”200e-2”;floatc;}執(zhí)行c=-atof,atol,atrtod,strtol,strtoul表頭文#include<stdlib.h>定義函數(shù)intatoi(constchar函數(shù)說明atoi()會掃描參數(shù)nptr字符串,跳過前面的空格字符,直到遇上數(shù)字或正負(fù)符號才開始做返回值附加說明atoi()與使用strtol(nptr,(char**)NULL,10);/content/develop/c&c++/linux_c/function/02.html(第1/6頁)2006-1-1Untitled*字符串a(chǎn)Untitled*字符串a(chǎn)字符串b轉(zhuǎn)換成數(shù)字后相加*/{chara[]=”-charb[]=”456”;intc;}執(zhí)行相關(guān)函數(shù)atof,atoi,strtod,strtol,strtoul表頭文#include<stdlib.h>定義函數(shù)longatol(constcharatol()會掃描參數(shù)nptr附加說明atol()與使用strtol(nptr,(char**)NULL,10);結(jié)果相同。范例/*將字符串a(chǎn)與字符串b轉(zhuǎn)換成數(shù)字后相加*/{chara[]=”1000000000”;charb[]=”234567890”;longc;}執(zhí)行相關(guān)函數(shù)ecvt,fcvt,sprintf表頭文件定義函數(shù)char*gcvt(doublenumber,size_tndigits,char/content/develop/c&c++/linux_c/function/02.html(第2/6頁)2006-1-Untitled函數(shù)說明gcvt()用來將參數(shù)number轉(zhuǎn)換成ASCII碼字符串,參數(shù)ndigits表示顯示的位數(shù)。gcvt()與ecvtUntitled函數(shù)說明gcvt()用來將參數(shù)number轉(zhuǎn)換成ASCII碼字符串,參數(shù)ndigits表示顯示的位數(shù)。gcvt()與ecvt返回值返回一字符串指針,此地址即為buf指針。#include<stdlib.h>{doublea=123.45;doubleb=-1234.56;char*ptr;printf(“avalue=%s\n”,ptr);printf(“b}bvalue=-1234.56相關(guān)函數(shù)atoi,atol,strtod,strtol,strtoul表頭文#include<stdlib.h>定義函數(shù)doublestrtod(constchar*nptr,char函數(shù)說明strtod()會掃描參數(shù)nptr字符串,跳過前面的空格字符,直到遇上數(shù)字或正負(fù)符號才開始做轉(zhuǎn)換,到出現(xiàn)非數(shù)字或字符串結(jié)束時('\0ndtr不為NULL,則會將遇到不合條件而終止的nptr中的字符指針由endptr傳回。參數(shù)nptr字符串可包含正負(fù)號、小數(shù)點(diǎn)或E(e)來表示指數(shù)部分。如123.456或123e-2。返回回轉(zhuǎn)換后的浮點(diǎn)型數(shù)。附加說明參考atof()。范例/*將字符串a(chǎn),b,c分別采用10,2,16進(jìn)制轉(zhuǎn)換成數(shù)字*/{chara[]=”1000000000”;charb[]=”1000000000”;charc[]=”ffff”;}/content/develop/c&c++/linux_c/function/02.html(第3/6頁)2006-1-1Untitleda=1000000000Untitleda=1000000000相關(guān)函數(shù)atof,atoi,atol,strtod,strtoul表頭文件#include<stdlib.h>定義函數(shù)longintstrtol(constchar*nptr,char**endptr,int函數(shù)說明strtol()會將參數(shù)nptr字符串根據(jù)參數(shù)base來轉(zhuǎn)換成長整型數(shù)。參數(shù)base范圍從2至36,或0。換。一開始strtol()會掃描參數(shù)nptr字符串,跳過前面的空格字符,直到遇上數(shù)字或正負(fù)符號才開始做轉(zhuǎn)換,再遇到非數(shù)字或字符串結(jié)束時('\0,則會將遇到不合條件而終止的nptr中的字符指針由endptr返回。返回值返回轉(zhuǎn)換后的長整型數(shù),否則返回ERANGE并將錯誤代碼存入errno中。附加說明ERANGE指定的轉(zhuǎn)換字符串超出合法范圍。范例/*將字符串a(chǎn),b,c分別采用10,2,16進(jìn)制轉(zhuǎn)換成數(shù)字*/{chara[]=”1000000000”;charb[]=”1000000000”;charc[]=”ffff”;}a=1000000000相關(guān)函數(shù)atof,atoi,atol,strtod,strtol表頭文件定義函數(shù)unsignedlongintstrtoul(constchar*nptr,char**endptr,int/content/develop/c&c++/linux_c/function/02.html(第4/6頁)2006-1-1Untitled函數(shù)說明Untitled函數(shù)說明srtoul()會將參數(shù)nptr字符串根據(jù)參數(shù)bae來轉(zhuǎn)換成無符號的長整型數(shù)。參數(shù)bae范圍從2至30。參數(shù)bsebse值為0則采用10base16則采用16進(jìn)制數(shù)等。當(dāng)base值為0時則是采用10進(jìn)制做轉(zhuǎn)換,但遇到如'0x'前置字符則會使用16進(jìn)制做轉(zhuǎn)換。一開始strtoul()會掃描參數(shù)nptr字符串,跳過前面的空格字符串,直到遇上數(shù)字或正負(fù)符號才開始做轉(zhuǎn)換,再遇到非數(shù)字或字符串結(jié)束時('\0返回。若參數(shù)endptr不為NULL,則會將遇到不合條件而終止的nptr中的字符指針由endpt返回。返回值返回轉(zhuǎn)換后的長整型數(shù),否則返回ERANGE并將錯誤代碼存入errno中。附加說明ERANGE指定的轉(zhuǎn)換字符串超出合法范圍。toascii(將整型數(shù)轉(zhuǎn)換成合法的ASCII碼字符)相關(guān)函數(shù)isascii,toupper,tolower定義函數(shù)inttoascii(intc)函數(shù)說明toascii()會將參數(shù)c轉(zhuǎn)換成7位的unsignedchar值,第八位則會被清除,此字符即會被轉(zhuǎn)成返回值將轉(zhuǎn)換成功的ASCII碼字符值返回。范例#include<stdlib.h>{charb;printf(“beforetoascii():avalue=%d(%c)\n”,a,a);printf(“aftertoascii():avalue}beforetoascii()avalue=217()aftertoascii()avalue相關(guān)函isalpha,toupper定義函數(shù)inttolower(int函數(shù)說 若參數(shù)c為大寫字母則將該對應(yīng)的小寫字母返回返回值返回轉(zhuǎn)換后的小寫字母,若不須轉(zhuǎn)換則將參數(shù)c值返回。/content/develop/c&c++/linux_c/function/02.html(第5/6頁)2006-1-1Untitled*Untitled*s字符串內(nèi)的大寫字母轉(zhuǎn)換成小寫字母*/{chars[]=”aBcDeFgH12345;!#$”;inti;printf(“beforetolower():%s\n”,s);printf(“aftertolower():}aBcDeFgH12345;!#$aftertolower相關(guān)函數(shù)isalpha,tolower定義函inttoupper(int函數(shù)說 若參數(shù)c為小寫字母則將該對映的大寫字母返回返回值返回轉(zhuǎn)換后的大寫字母,若不須轉(zhuǎn)換則將參數(shù)c值返回。*s字符串內(nèi)的小寫字母轉(zhuǎn)換成大寫字母*/{chars[]=”aBcDeFgH12345;!#$”;inti;printf(“beforetoupper():%s\n”,s);printf(“aftertoupper():}aBcDeFgH12345;!#$aftertoupper()/content/develop/c&c++/linux_c/function/02.html(6/6頁)2006-1-Untitled相關(guān)函數(shù)Untitled相關(guān)函數(shù)time,ctime,gmtime,localtime表頭文件定義函數(shù)char*asctime(conststructtm*asctime()將參數(shù)timeptr所指的tm結(jié)構(gòu)中的信息轉(zhuǎn)換成真實世界所使用的時間日期表示方為:“WedJun301:49:081993\n”附加說回一字符串表示目前當(dāng)?shù)氐臅r間日期。范例#include<time.h>{time_ttimep;}執(zhí)行SatOct2802:10:06相關(guān)函數(shù)time,asctime,gmtime,localtime表頭文件定義函數(shù)char*ctime(consttime_t 為“WedJun3021:49:081993\n”。若再調(diào)用相關(guān)的時間日期函數(shù),此字符串可能會被破返回回一字符串表示目前當(dāng)?shù)氐臅r間日期。范例#include<time.h>{time_ttimep;}執(zhí)行SatOct28101205/content/develop/c&c++/linux_c/function/04.html(第1/6頁)2006-1-1Untitled相關(guān)函數(shù)time,ctime,ftime,settimeofdayUntitled相關(guān)函數(shù)time,ctime,ftime,settimeofday表頭文件#include<sys/time.h>#include定義函數(shù)intgettimeofdaystructtimeval*tvstructtimezone*tz函數(shù)說明etmeofdy()會把目前的時間有tv所指的結(jié)構(gòu)返回,當(dāng)?shù)貢r區(qū)的信息則放到tztimeval{longtv_sec;*秒*/longtv_usec;/*微秒timezonestructinttz_minuteswest;/*和Greenwich時間差了多少分鐘*/inttz_dsttime;/*日光節(jié)約時間的狀態(tài)*/上述兩個結(jié)構(gòu)都定義在/usr/include/sys/time.h。tz_dsttime所代表的狀態(tài)如下DST_NONE/*不使用*/DST_USA/*美國*/DST_AUST/*澳洲*/DST_WET/*西歐*/DST_MET/*中歐*/DST_EET/*東歐*/DST_CAN/*加拿大*/DST_GB/*大不列顛*/DST_TUR/*土耳其*/DST_AUSTALT/*澳洲(1986年以后范例#include<sys/time.h>structtimevaltv;structtimezonegettimeofday(&tv,&tz);printf(“tv_sec;%d\n”,tv,.tv_sec);printf(“tv_usec;printf(“tz_minuteswest;%d\n”,tz.tz_minuteswest);printf(“tz_dsttime,%d\n”,tz.tz_dsttime);/content/develop/c&c++/linux_c/function/04.html(第2/6頁)2006-1-1UntitledUntitled相關(guān)函數(shù)time,asctime,ctime,localtime表頭文件定義函數(shù)structtm*gmtime(constgmtime()將參數(shù)timep所指的time_tstruct{inttm_sec;inttm_min;inttm_hour;inttm_mday;inttm_mon;inttm_year;inttm_yday;inttm_sec代表目前秒數(shù),正常范圍為0-59,但允許至61秒inttm_min代表目前分?jǐn)?shù),范圍0-59inttm_hour從午夜算起的時數(shù),范圍為0-23inttm_mday目前月份的日數(shù),范圍01-31inttm_mon代表目前月份,從一月算起,范圍從0-11inttm_year1900算起至今的年數(shù)inttm_wday一星期的日數(shù),從星期一算起,范圍為0-6inttm_yday從今年1月1日算起至今的天數(shù),范圍為0-365inttm_isdst日光節(jié)約時間的旗標(biāo)此函數(shù)返回的時間日期未經(jīng)時區(qū)轉(zhuǎn)換,而是UTC返回結(jié)構(gòu)tm代表目前UTC/content/develop/c&c++/linux_c/function/04.html(第3/6頁)2006-1-1Untitledchar*wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};Untitledchar*wday[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};time_ttimep;structtm*p;printf(“%d%d%d”,(1900+p->tm_year),(1+p->tm_mon),p->tm_mday);printf(“%s%d;%d;%d\n”,wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec);}執(zhí)行2000/10/28Sat相關(guān)函數(shù)time,asctime,ctime,gmtime表頭文件定義函數(shù)structtm*localtime(consttime_t*函數(shù)說明ocatme()將參數(shù)tmep所指的time_t結(jié)構(gòu)中的信息轉(zhuǎn)換成真實世界所使用的時間日期表示方法,然后將結(jié)果由結(jié)構(gòu)m返回。結(jié)構(gòu)tm的定義請參考gmtme()。此函數(shù)返回的時間日期已經(jīng)轉(zhuǎn)換成當(dāng)?shù)貢r區(qū)。返回回結(jié)構(gòu)tm代表目前的當(dāng)?shù)貢r間。范例#include<time.h>time_ttimep;structtm*p;p=localtime(&timep);/*取得當(dāng)?shù)貢r間printf(“%d%d%d”,(1900+p->tm_year),(l+p->tm_mon),p->tm_mday);printf(“%s%d:%d:%d\n”,wday[p->tm_wday],p->tm_hour,p->tm_min,p->tm_sec);}執(zhí)行2000/10/28Sat相關(guān)函數(shù)time,asctime,gmtime,localtime表頭文件定義函數(shù)time_tmktime(strcuttm*函數(shù)說明mktime()用來將參數(shù)timeptr所指的tm結(jié)構(gòu)數(shù)據(jù)轉(zhuǎn)換成從公元1970年1月1日0時0分0秒算起/content/develop/c&c++/linux_c/function/04.html(第4/6頁)2006-1-1Untitled返回值范例/*Untitled返回值范例/*用time()取得時間(秒數(shù)),利用轉(zhuǎn)換成structtm再利用mktine()將structtm轉(zhuǎn)換成原來的秒數(shù)*/{time_ttimep;strcuttm*p;printf(“time():%d\n”,timep);timep=printf(“time()->localtime()-}執(zhí)行相關(guān)函數(shù)time,ctime,ftime,gettimeofday表頭文件#include<sys/time.h>函數(shù)說明settimeoday()會把目前時間設(shè)成由tv所指的結(jié)構(gòu)信息,當(dāng)?shù)貢r區(qū)信息則設(shè)成tz所指的結(jié)構(gòu)。詳細(xì)的說明請參考gettimeofday()。注意,只有root返回 成功則返回0,失敗返回-1,錯誤代碼存于errno錯誤代碼EPERM并非由root權(quán)限調(diào)用settimeofday(),權(quán)限不夠。EINVAL相關(guān)函數(shù)ctime,ftime,gettimeofday表頭文件#include<time.h>定義函數(shù)time_ttime(time_t果t并非空指針的話,此函數(shù)也會將返回值存到t指針?biāo)傅膬?nèi)存/content/develop/c&c++/linux_c/function/04.html(第5/6頁)2006-1-1UntitledUntitled#include<time.h>{intseconds=time((time_t*)NULL);}執(zhí)行/content/develop/c&c++/linux_c/function/04.html(6/6頁)2006-1-1Untitled相Untitled相關(guān)函數(shù)labs,fabs定義函數(shù)intabs(intj)函數(shù)說明abs()用來計算參數(shù)j的絕對值,然后將結(jié)果返回。返回值返回參數(shù)j的絕對值結(jié)果。#ingclude<stdlib.h>intansert;answer=abs(-12);}執(zhí)行|-12|acos(取反余弦函數(shù)數(shù)值)表頭文件#include<math.h>定義函數(shù)doubleacosdouble函數(shù)說明cos()用來計算參數(shù)x的反余弦值,然后將結(jié)果返回。參數(shù)x范圍為-1至1圍則會失敗。返回值返回0至I之間的計算結(jié)果,單位為弧度,在函數(shù)庫中角度均以弧度來表示。錯誤代碼EDOM參數(shù)x超出范圍。附加說明使用GCC編譯時請加入-lm。范例#include<math.h>maindoubleangle;angle=acos(0.5);printf("angle=%f\n",}執(zhí)行angle相關(guān)函數(shù)acosatanatan2cossintan表頭文件#include<math.h>/content/develop/c&c++/linux_c/function/06.html(1/9頁)2006-1-1Untitled定義函數(shù)Untitled定義函數(shù)doubleasin(double 返回值返回-PI/2之PI/2之間的計算結(jié)果。錯誤代碼EDOM參數(shù)x超出范圍附加說明使用GCC編譯時請加入-lm范例#include<math.h>{doubleangle;angle=asin(0.5);printf("angle=}執(zhí)行angle相關(guān)函數(shù)acos,asin,atan2,cos,sin,tan表頭文件#include<math.h>定義函數(shù)doubleatan(double函數(shù)說明atan()用來計算參數(shù)x的反正切值,然后將結(jié)果返回。返回值返回-PI/2至PI/2之間的計算結(jié)果。附加說明使用GCC編譯時請加入-lm范例#include<math.h>{doubleangle;angleprintf("angle=}執(zhí)行angleatan2(取得反正切函數(shù)值相關(guān)函數(shù)acos,asin,atan,cos,sin,tan表頭文件#include<math.h>定義函數(shù)doubleatan2(doubley,double函數(shù)說明atan2()用來計算參數(shù)y/x的反正切值,然后將結(jié)果返回。返回值返回-PI/2至PI/2之間的計算結(jié)果。/content/develop/c&c++/linux_c/function/06.html(第2/9頁)2006-1-1Untitled附加說明使用GCC編譯時請加入-lm。范Untitled附加說明使用GCC編譯時請加入-lm。范例#include<math.h>{doubleangle;angle=atan2(1,2);printf("angle=%f\n",}執(zhí)行angle相關(guān)函數(shù)fabs表頭文件includemath.h>定義函數(shù)doubleceil(doublex);函數(shù)說明ceil()會返回不小于參數(shù)x的最小整數(shù)值,結(jié)果以double返回值返回不小于參數(shù)x的最小整數(shù)值。附加說明用GCC編譯時請加入-lm。范例include<math.h>{inti;for(i=0;value[i]!=0;i++)}執(zhí)行cos(取余玄函數(shù)值相關(guān)函數(shù)acos,asin,atan,atan2,sin,tan表頭文件#include<math.h>定義函數(shù)doublecos(double函數(shù)說明cos()用來計算參數(shù)x的余玄值,然后將結(jié)果返回。返回值返回-1至1之間的計算結(jié)果。附加說 使用GCC編譯時請加入-lm/content/develop/c&c++/linux_c/function/06.html(第3/9頁)2006-1-Untitled#include<math.h>Untitled#include<math.h>{doubleanswer=cos(0.5);printf("cos(0.5)=%f\n",answer);}
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國推進(jìn)器控制系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球IO-Link信號燈行業(yè)調(diào)研及趨勢分析報告
- 2025建筑施工勞務(wù)勞動合同內(nèi)、外墻保溫
- 臨時急需資金借款合同
- 提高數(shù)據(jù)可視化技能的技能培訓(xùn)
- 技術(shù)服務(wù)合同經(jīng)典
- 提高團(tuán)隊領(lǐng)導(dǎo)力的培訓(xùn)方法
- 委托國際貿(mào)易傭金合同書
- 零配件采購合同
- 石材大板購銷合同
- (正式版)CB∕T 4552-2024 船舶行業(yè)企業(yè)安全生產(chǎn)文件編制和管理規(guī)定
- 病案管理質(zhì)量控制指標(biāo)檢查要點(diǎn)
- 2024年西藏中考物理模擬試題及參考答案
- 九型人格與領(lǐng)導(dǎo)力講義
- 藥品經(jīng)營和使用質(zhì)量監(jiān)督管理辦法培訓(xùn)試題及答案2023年9月27日國家市場監(jiān)督管理總局令第84號公布
- 人教版五年級上冊數(shù)學(xué)脫式計算練習(xí)200題及答案
- 卵巢黃體囊腫破裂教學(xué)查房
- 醫(yī)院定崗定編
- 計算機(jī)網(wǎng)絡(luò)畢業(yè)論文3000字
- 2023年大學(xué)物理化學(xué)實驗報告化學(xué)電池溫度系數(shù)的測定
- 腦出血的護(hù)理課件腦出血護(hù)理查房PPT
評論
0/150
提交評論