頭文件: #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’...