C語言字串處理函式

2021-09-26 20:33:26 字數 1687 閱讀 1860

函式名

舉例注釋

strcpystrcpy(str , 「abcsd123」);

將後面的字串複製給前面的str

strncpychar str[10]=""; strncpy(str ,「abc123」 , 9);

拷貝指定長度,不含「\0」,故之前需要預留「\0」

strcmp

int i=strcmp(str1,str2);

比較字串大小,比到不相同時結束,比ascii值

strncmp

int i=strncmp(「abc123」,「abc12345」,5);

只比較前5位字元

strchrstrchar(str,『f』);

在字串中從前往後查詢字元,找到第乙個,後面都列印出來

strrchrstrrchr(str,『a』);

在字串中從後往前查詢字元

strstrstrstr(str,「中國」);

在字串中查詢字串

strcat

strcat(str,「你好中國」);

字串拼接

strtok

strtok(str,",");

讓「,」將str切割開

strleni=strlen(str);

求str的字串長度,返回值是無符號數

strlwr

strlwr(str);

將str字串變成小寫字母

strupr

strupr(str);

將str字串變成大寫字母

第一次呼叫這個函式是在while迴圈體之外,此時,字串"my name is xiaoming." 中匹配token(即引數seps代表的各種字元,如本例中," ,/t/n"表示空格,逗號,製表符,換行符這四種字元)中所指定的字元的位置在my和name之間。於是,函式的返回值pointer_a為乙個指向」my」的指標。此時,pointer_b指向my和name之間的位置,代表pointer_b之前的位置已經進行過查詢匹配了。

這樣,在迴圈體之內進行第二次函式呼叫的時候,只要把strtok()的第乙個引數設定為null,就可以直接從pointer_b位置開始進行查詢匹配了。

所以,null的作用只是為了使得每次呼叫時,都不是從"my name is xiaoming."的頭開始,而是從上次呼叫時查詢所停止的位置開始,如此迴圈下去,直到無法再找到匹配token的時候位置,這樣就實現了把"my name is xiaoming."按照token進行分隔的效果。所以,null的作用只是為了使得每次呼叫時,都不是從"my name is xiaoming."的頭開始,而是從上次呼叫時查詢所停止的位置開始,如此迴圈下去,直到無法再找到匹配token的時候位置,這樣就實現了把"my name is xiaoming."按照token進行分隔的效果。

int i=0;

p[i]strtok(str,", : /"); //用,:/ 切割字串,實質是將切割符號變成''

while(null!=p[i]) //從上一次切割處,迴圈切割

C語言字串處理函式

使用有關字串處理的庫函式,務必包含標頭檔案string.h,即 include 1 比較字串大小函式 1 忽略大小寫 strcasecmp 函式原型 int strcasecmp const char s1,const char s2 函式說明 用來比較引數s1和s2字串,比較時會自動忽略大小寫的差...

c語言字串處理函式

很高效的字串處理函式 void memccpy void dest,const void src,int c,size t n 從src所指向的物件複製n個字元到dest所指向的物件中。如果複製過程中遇到了字元c則停止複製,返回指標指向dest中字元c的下乙個位置 否則返回null。void mem...

C語言字串處理函式

字串處理函式包含在標頭檔案裡。void memchr const void str,int c,size t n 在引數 str 所指向的字串的前 n 個位元組中搜尋第一次出現字元 c 乙個無符號字元 的位置。intmemcmp const void str1,const void str2,siz...