string庫函數-----------總結一些常用的處理string的函數

頭文件: #include<string.h>


第一名    

char* strstr(char* dest, char* need);

從dest字符串中找出need字符串出現的位置,不比較結束符,找不到返回NULL,找到了

返回need出現的位置


第二名    

char* strcat(char* dest, char* src);  

char*strncat(char* dest, char* src,size_t n);

把src所指向的字符串添加到dest尾部,並且覆蓋其尾部的 '\0' ,返回dest的指針,strncat()

多一個參數,就是複製src中的n個字符。 注意,要保證dest有足夠的空間接收src!


第三名    

char* strcpy(char* dest, char* src);   

char* strncpy(char* dest, char* src, size_t n);

把字符串src中的內容copy到dest中,連字符串結束標誌也一起copy。strncpy()也是多一個

數量的參數,指定制的字節數。


第四名  

size_t strspn(const char* s, const char* accept);  

size_t strcspn(const char* s, const char* reject);

strspn函數作用是返回S字符串中從頭開始有多少個字符都屬於字符串accept內的字符,換

句話說如果strspn函數返回n,則代表字符串S中從頭開始有n個字符都是屬於字符串accept

中的字符。而strcspn函數則正好相反,返回S字符串中從頭開始有多少個字符不屬於字符

串accept內的字符。


第五名

char* strchr(const char* s, char c);

char* strrchr(const char* s, char c);

前者是返回字符串S中第一次出現c中的字符的位置的指針,後者是返回字符串S中最後一次

出現c中的字符的位置的指針。


第六名

char* strdup(const char* s);

char* strndup(const char* s, size_t n);

複製字符串到新的地址中,返回新地址的指針,後者添加了最多複製n個字符。如果字符串

s正好有n個字符,則結束符 '\0' 會自動添加。

ps:查了一下strdup這個函數,覺得以後還是少用這個函數。以前都是用來複制代碼段中

的const char*的一個字符串,複製出來的新的字符串才能做修改,例如代碼

char* upload_File_Save_Path = "/usr/local/";

要修改時就char* str = strdup(upload_File_Save_Path); 然後再對str進行操作,但是這個

str佔的內存是strdup函數alloc出來的,用完之後應該是需要手動釋放的,可是我一直都木

有管這事。


其實strlen纔是最常用的,返回字符串長度,不包括‘\0’...


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章