版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 15/15c語言string的用法大全 C語言是一門面對過程的、抽象化的通用程序設(shè)計語言,廣泛應(yīng)用于底層開發(fā)。C語言能以簡易的方式編譯、處理低級存儲器。C語言string的用法有哪些呢,請看看下面我為你整理總結(jié)的c語言string的用法大全_C語言中string使用方法。 c語言string的用法 函數(shù)原型:char *strdup(const char *s) 函數(shù)功能:字符串拷貝,目的空間由該函數(shù)支配 函數(shù)返回:指向拷貝后的字符串指針 參數(shù)說明:src-待拷貝的源字符串 所屬文件:string.h cpp view plain #includestdio.h #includestring
2、.h #includealloc.h intmain() char*dup_str,*string=abcde; dup_str=strdup(string); printf(%s,dup_str); free(dup_str); return0; 函數(shù)名稱:strcpy 函數(shù)原型:char* strcpy(char* str1,char* str2); 函數(shù)功能:把str2指向的字符串拷貝到str1中去 函數(shù)返回:返回str1,即指向str1的指針 參數(shù)說明: 所屬文件:string.h cpp view plain #includestdio.h #includestring.h intm
3、ain() charstring10; char*str1=abcdefghi; strcpy(string,str1); printf(thestringis:%sn,string); return0; 函數(shù)名稱:strncpy 函數(shù)原型:char *strncpy(char *dest, const char *src,intcount) 函數(shù)功能:將字符串src中的count個字符拷貝到字符串dest中去 函數(shù)返回:指向dest的指針 參數(shù)說明:dest-目的字符串,src-源字符串,count-拷貝的字符個數(shù) 所屬文件:string.h cpp view plain #includes
4、tdio.h #includestring.h intmain() char*src=bbbbbbbbbbbbbbbbbbbb;/20bs chardest50=aaaaaaaaaaaaaaaaaaaa;/20as puts(dest); strncpy(dest,src,10); puts(dest); return0; 輸出: cpp view plain /* aaaaaaaaaaaaaaaaaaaa bbbbbbbbbbaaaaaaaaaa */ 留意:strncpy只復(fù)制指定長度的字符,不會自動在末尾加0。假設(shè)指定長度超過源字符串長度,不夠的局部補0, 函數(shù)名稱:strcat 函數(shù)原
5、型:char* strcat(char * str1,char * str2); 函數(shù)功能:把字符串str2接到str1后面,str1最終的0被取消 函數(shù)返回:str1 參數(shù)說明: 所屬文件:string.h cpp view plain #includestdio.h #includestring.h intmain() charbuffer80; strcpy(buffer,Hello); strcat(buffer,world); printf(%sn,buffer); return0; 函數(shù)名稱:strncat 函數(shù)原型:char *strncat(char *dest, const
6、char *src, size_t maxlen) 函數(shù)功能:將字符串src中前maxlen個字符連接到dest中 函數(shù)返回: 參數(shù)說明: 所屬文件:string.h cpp view plain #includestdio.h #includestring.h charbuffer80; intmain() strcpy(buffer,Hello); strncat(buffer,world,8); printf(%sn,buffer); strncat(buffer,*,4); printf(%sn,buffer); return0; 留意:與strncpy不同的是,strncat會自動在
7、末尾加0,假設(shè)指定長度超過源字符串長度,那么只復(fù)制源字符串長度即停頓 函數(shù)名稱:strcmp 函數(shù)原型:int strcmp(char * str1,char * str2); 函數(shù)功能:比較兩個字符串str1,str2. 函數(shù)返回:str1str2,返回負數(shù);str1=str2,返回 0;str1str2,返回正數(shù). 參數(shù)說明: 所屬文件:string.h cpp view plain #includestring.h #includestdio.h intmain() char*buf1=aaa,*buf2=bbb,*buf3=ccc; intptr; ptr=strcmp(buf2,bu
8、f1); if(ptr0) printf(buffer2isgreaterthanbuffer1n); else printf(buffer2islessthanbuffer1n); ptr=strcmp(buf2,buf3); if(ptr0) printf(buffer2isgreaterthanbuffer3n); else printf(buffer2islessthanbuffer3n); return0; 函數(shù)名稱:strncmp 函數(shù)原型:int strncmp(char *str1,char *str2,int count) 函數(shù)功能:對str1和str2中的前count個字符
9、按字典挨次比較 函數(shù)返回:小于0:str1str2,等于0:str1=str2,大于0:str1str2 參數(shù)說明:str1,str2-待比較的字符串,count-比較的長度 所屬文件:string.h cpp view plain #includestring.h #includestdio.h intmain() charstr1=aabbc;/ charstr2=abbcd;/ /為使測試程序更簡練,此處假定了strncmp只返回-1,0,1三個數(shù) charres_info=,=,; intres; /前1個字符比較 res=strncmp(str1,str2,1); printf(1:
10、str1%cstr2n,res_infores+1); /前3個字符比較 res=strncmp(str1,str2,3); printf(3:str1%cstr2n,res_infores+1); 輸出: cpp view plain /* 1:str1=str2 3:str1str2 */ 函數(shù)名稱:strpbrk 函數(shù)原型:char *strpbrk(const char *s1, const char *s2) 函數(shù)功能:得到s1中第一個“同時也出如今s2中”字符的位置指針 函數(shù)返回:位置指針 參數(shù)說明: 所屬文件:string.h cpp view plain #includestd
11、io.h #includestring.h intmain() char*p=Findallvowels; p=strpbrk(p+1,aeiouAEIOU); while(p) printf(%sn,p); p=strpbrk(p+1,aeiouAEIOU); return0; 輸出: cpp view plain /* indallvowels allvowels owels els */ 函數(shù)名稱:strcspn 函數(shù)原型:int strcspn(const char *s1, const char *s2) 函數(shù)功能:統(tǒng)計s1中從頭開場直到第一個“來自s2中的字符”消滅的長度 函數(shù)返回
12、:長度 參數(shù)說明: 所屬文件:string.h cpp view plain #includestdio.h #includestring.h intmain() printf(%dn,strcspn(abcbcadef,cba); printf(%dn,strcspn(xxxbcadef,cba); printf(%dn,strcspn(123456789,cba); return0; 輸出: cpp view plain /* 0 3 9 */ 函數(shù)名稱:strspn 函數(shù)原型:int strspn(const char *s1, const char *s2) 函數(shù)功能:統(tǒng)計s1中從頭開
13、場直到第一個“不來自s2中的字符”消滅的長度 函數(shù)返回:位置指針 參數(shù)說明: 所屬文件:string.h html view plain #includestdio.h #includestring.h #includealloc.h intmain() printf(%dn,strspn(abcbcadef,cba); printf(%dn,strspn(xxxbcadef,cba); printf(%dn,strspn(123456789,cba); return0; 輸出: cpp view plain /* 6 0 0 */ 函數(shù)名稱:strchr 函數(shù)原型:char* strchr(
14、char* str,char ch); 函數(shù)功能:找出str指向的字符串中第一次消滅字符ch的位置 函數(shù)返回:返回指向該位置的指針,如找不到,那么返回空指針 參數(shù)說明:str-待搜尋的字符串,ch-查找的字符 所屬文件:string.h cpp view plain #includestring.h #includestdio.h intmain() char*str=Thisisastring!; charch; char*p; while(1) printf(Pleaseinputachar:); ch=getchar(); p=strchr(str,ch); if(p) printf(%
15、cisthe%dcharacterof%sn,ch,(int)(p-str+1),str); else printf(Notfound!n); printf(PressESCtoquit!nn); if(27=getch() break; fflush(stdin); return0; 運行結(jié)果: cpp view plain /* Pleaseinputachar:i iisthe3characterofThisisastring! PressESCtoquit! Pleaseinputachar:l Notfound! PressESCtoquit! Pleaseinputachar:s
16、sisthe4characterofThisisastring! PressESCtoquit! */ 函數(shù)名稱:strrchr 函數(shù)原型:char *strrchr(const char *s, int c) 函數(shù)功能:得到字符串s中最終一個含有c字符的位置指針 函數(shù)返回:位置指針 參數(shù)說明: 所屬文件:string.h cpp view plain #includestring.h #includestdio.h intmain() charstring15; char*ptr,c=r; strcpy(string,Thisisastring); ptr=strrchr(string,c)
17、; if(ptr) printf(Thecharacter%cisatposition:%d,c,ptr-string); else printf(Thecharacterwasnotfound); return0; 函數(shù)名稱:strstr 函數(shù)原型:char* strstr(char* str1,char* str2); 函數(shù)功能:找出str2字符串在str1字符串中第一次消滅的位置(不包括str2的串完畢符) 函數(shù)返回:返回該位置的指針,如找不到,返回空指針 參數(shù)說明: 所屬文件:string.h cpp view plain #includestdio.h #includestring.
18、h intmain() char*str1=OpenWatcomC/C+,*str2=Watcom,*ptr; ptr=strstr(str1,str2); printf(Thesubstringis:%sn,ptr); return0; 輸出: The substringis:Watcom C/C+ 函數(shù)名稱:strrev 函數(shù)原型:char *strrev(char *s) 函數(shù)功能:將字符串中的全部字符顛倒次序排列 函數(shù)返回:指向s的指針 參數(shù)說明: 所屬文件:string.h cpp view plain #includestring.h #includestdio.h intmain
19、() charforward=string;/原文中定義為char*是不對的,指向代碼段的指針內(nèi)容是不行變的 printf(Beforestrrev():%s,forward); strrev(forward); printf(Afterstrrev():%s,forward); return0; 輸出: cpp view plain /* Beforestrrev():string Afterstrrev():gnirts */ 函數(shù)名稱:strnset 函數(shù)原型:char *strnset(char *s, int ch, size_t n) 函數(shù)功能:將字符串s中前n個字符設(shè)置為ch的值
20、 函數(shù)返回:指向s的指針 參數(shù)說明: 所屬文件:string.h cpp view plain #includestdio.h #includestring.h intmain() charstring=aaaaaaaaaaaaaaaaaaaaaaa; charletter=x; printf(stringbeforestrnset:%sn,string); strnset(string,letter,10); printf(stringafterstrnset:%sn,string); return0; 輸出: cpp view plain /* stringbeforestrnset:aa
21、aaaaaaaaaaaaaaaaaaaaa stringafterstrnset:xxxxxxxxxxaaaaaaaaaaaaa */ 函數(shù)名稱:strset 函數(shù)原型:char *strset(char *s, int ch) 函數(shù)功能:將字符串s中全部字符設(shè)置為ch的值 函數(shù)返回:指向s的指針 參數(shù)說明: 所屬文件:string.h cpp view plain #includestdio.h #includestring.h intmain() charstring10=123456789; charsymbol=c; printf(Beforestrset():%s,string);
22、strset(string,symbol); printf(Afterstrset():%s,string); return0; 函數(shù)名稱:strtok 函數(shù)原型:char *strtok(char *s1, const char *s2) 函數(shù)功能:分解s1字符串為用特定分隔符分隔的多個字符串(一般用于將英文句分解為單詞) 函數(shù)返回:字符串s1中首次消滅s2中的字符前的子字符串指針 參數(shù)說明:s2一般設(shè)置為s1中的分隔字符 規(guī)定進展子調(diào)用時即分割s1的其次、三及后續(xù)子串第一參數(shù)必需是NULL 在每一次匹配成功后,將s1中分割出的子串位置替換為NULL(摘下鏈中第一個環(huán)),因此s1被破壞了 函
23、數(shù)會記憶指針位置以供下一次調(diào)用 所屬文件:string.h cpp view plain #includestring.h #includestdio.h intmain() char*p; char*buffer; char*delims=.,; buffer=strdup(Findwords,allofthem.); printf(%sn,buffer); p=strtok(buffer,delims); while(p!=NULL) printf(word:%sn,p); p=strtok(NULL,delims); printf(%sn,buffer); return0; /依據(jù)測試,
24、可以隨時給strtok的第一個參數(shù)輸入一個新的字符串,開場新字符串的分隔 PS:依據(jù)測試,可以隨時給strtok的第一個參數(shù)輸入一個新的字符串,開場新字符串的分隔 函數(shù)名稱:strupr 函數(shù)原型:char *strupr(char *s) 函數(shù)功能:將字符串s中的字符變?yōu)榇髮?函數(shù)返回: 參數(shù)說明: 所屬文件:string.h cpp view plain #includestdio.h #includestring.h intmain() charstring=abcdefghijklmnopqrstuvwxyz,*ptr;/會影響原字符串的內(nèi)存,用char來聲明 ptr=strupr(s
25、tring); printf(%s,ptr); return0; 函數(shù)名稱:strlwr 函數(shù)原型:char *strlwr(char *s) 函數(shù)功能:將字符串中的字符變?yōu)樾懽址?函數(shù)返回:指向s的指針 參數(shù)說明: 所屬文件:string.h cpp view plain #includestring.h intmain() charstr=HOWTOSAY; printf(%s,strlwr(str); return0; 函數(shù)名稱:strerror 函數(shù)原型:char *strerror(int errnum) 函數(shù)功能:得到錯誤信息的內(nèi)容信息 函數(shù)返回:錯誤提示信息字符串指針 參數(shù)說明
26、:errnum-錯誤編號 所屬文件:string.h cpp view plain #includestdio.h #includeerrno.h intmain() char*buffer; buffer=strerror(errno); printf(Error:%s,buffer); return0; 函數(shù)名稱:memcpy 函數(shù)原型:void *memcpy(void *dest, const void *src, size_t n) 函數(shù)功能:字符串拷貝 函數(shù)返回:指向dest的指針 參數(shù)說明:src-源字符串,n-拷貝的最大長度 所屬文件:string.h,mem.h cpp vi
27、ew plain #includestdio.h #includestring.h intmain() charsrc=*; chardest=abcdefghijlkmnopqrstuvwxyz0123456709; char*ptr; printf(destinationbeforememcpy:%sn,dest); ptr=memcpy(dest,src,strlen(src); if(ptr) printf(destinationaftermemcpy:%sn,dest); else printf(memcpyfailed); return0; 輸出: cpp view plain /
28、* destinationbeforememcpy:abcdefghijlkmnopqrstuvwxyz0123456709 destinationaftermemcpy:*456709 */ 函數(shù)名稱:memccpy 函數(shù)原型:void *memccpy(void *dest, const void *src, int c, size_t n) 函數(shù)功能:字符串拷貝,到指定長度或遇到指定字符時停頓拷貝 函數(shù)返回: 參數(shù)說明:src-源字符串指針,c-中止拷貝檢查字符,n-長度,dest-拷貝底目的字符串指針 所屬文件:string.h,mem.h cpp view plain #includ
29、estring.h #includestdio.h intmain() char*src=Thisisthesourcestring; chardest50; char*ptr; ptr=memccpy(dest,src,c,strlen(src); if(ptr) *ptr=0; printf(Thecharacterwasfound:%s,dest); else printf(Thecharacterwasntfound); return0; 輸出: cpp view plain /* Thecharacterwasfound:Thisisthesourc */ PS:指定字符被復(fù)制到de
30、st中,memccpy返回了dest中指定字符的下一處的地址,返回NULL表示未遇到指定字符 函數(shù)名稱:memchr 函數(shù)原型:void *memchr(const void *s, int c, size_t n) 函數(shù)功能:在字符串中第開場n個字符中查找某個字符c的位置 函數(shù)返回:返回c的位置指針,返回NULL時表示未找到 參數(shù)說明:s-要搜尋的字符串,c-要查找的字符,n-指定長度 所屬文件:string.h,mem.h cpp view plain #includestring.h #includestdio.h intmain() charstr17; char*ptr; strcp
31、y(str,Thisisastring); ptr=memchr(str,r,strlen(str); if(ptr) printf(Thecharacterrisatposition:%d,ptr-str); else printf(Thecharacterwasnotfound); return0; 函數(shù)名稱:memcmp 函數(shù)原型:int memcmp(const void *s1, const void *s2,size_t n) 函數(shù)功能:按字典挨次比較兩個串s1和s2的前n個字節(jié) 函數(shù)返回:0,=0,0分別表示s1,=,s2 參數(shù)說明:s1,s2-要比較的字符串,n-比較的長度 所
32、屬文件:string.h,mem.h cpp view plain #includestdio.h #includestring.h intmain() char*buf1=ABCDE123; char*buf2=abcde456; intstat; stat=memcmp(buf1,buf2,5); printf(Thestringstoposition5are); if(stat)printf(not); printf(thesamen); return0; 函數(shù)名稱:memicmp 函數(shù)原型:int memicmp(const void *s1, const void *s2, size_t n) 函數(shù)功能:按字典挨次、不考慮字母大小寫對字符串s1,s2前n個字符比較 函數(shù)返回:0,=0,0分別表示s1,=,s2 參數(shù)說明:s1,s2-要比較的字符串,n-比較的長度 所屬文件:string.h,mem.h cpp view plain #includestdio.h #includestring.h intmain() char*buf1=ABCDE123; char*buf2=abcde456; ints
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年南京住建部房屋租賃合同示范文本更新版4篇
- 二零二五年度門窗品牌代理銷售合同2篇
- 2025年度內(nèi)部施工質(zhì)量監(jiān)理合同協(xié)議書
- 二零二五年度旅游大巴租賃與夜間觀光服務(wù)合同3篇
- 2025年度棉紗產(chǎn)業(yè)技術(shù)創(chuàng)新戰(zhàn)略聯(lián)盟成立合同4篇
- 二零二五年度農(nóng)業(yè)廢棄物資源化利用與農(nóng)產(chǎn)品包裝回收合同4篇
- 2025版新能源車輛融資租賃擔(dān)保合同4篇
- 2025衛(wèi)生院與保潔人員勞動合同規(guī)范文本3篇
- 二零二五年度特色苗圃土地租賃與種植技術(shù)合作合同3篇
- 2025年度國際工程項目外籍專家聘用合同
- 拉薩市2025屆高三第一次聯(lián)考(一模)語文試卷(含答案解析)
- 《保密法》培訓(xùn)課件
- 回收二手機免責(zé)協(xié)議書模板
- (正式版)JC∕T 60023-2024 石膏條板應(yīng)用技術(shù)規(guī)程
- 人教版高中生物學(xué)新舊教材知識差異盤點
- (權(quán)變)領(lǐng)導(dǎo)行為理論
- 2024屆上海市浦東新區(qū)高三二模英語卷
- 2024年智慧工地相關(guān)知識考試試題及答案
- GB/T 8005.2-2011鋁及鋁合金術(shù)語第2部分:化學(xué)分析
- 不動產(chǎn)登記實務(wù)培訓(xùn)教程課件
- 不銹鋼制作合同范本(3篇)
評論
0/150
提交評論