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