1. 程式人生 > >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’...

--------------------- 本文來自 沉西樂恩 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/CSDN_logo/article/details/46536095?utm_source=copy