void *memset(void *dest, int c, size_t count);
將dest前面count個字元置為字元c.
返回dest的值.
void *memmove(void *dest, const void *src, size_t count);
從src複製count位元組的字元到dest. 如果src和dest出現重疊, 函數會自動處理.
返回dest的值.
void *memcpy(void *dest, const void *src, size_t count);
從src複製count位元組的字元到dest. 與memmove功能一樣, 只是不能處理src和dest出現重疊.
返回dest的值.
void *memchr(const void *buf, int c, size_t count);
在buf前面count位元組中尋找首次出現字元c的位置. 找到了字元c或者已經搜尋了count個位元組, 尋找即停止.
操作成功則返回buf中首次出現c的位置指標, 否則返回NULL.
void *_memccpy(void *dest, const void *src, int c, size_t count);
從src複製0個或多個位元組的字元到dest. 當字元c被複製或者count個字元被複製時, 複製停止.
如果字元c被複製, 函數返回這個字元後面緊挨一個字元位置的指標. 否則返回NULL.
int memcmp(const void *buf1, const void *buf2, size_t count);
比較buf1和buf2前面count個位元組大小.
傳回值< 0, 表示buf1小於buf2;
傳回值為0, 表示buf1等於buf2;
傳回值> 0, 表示buf1大於buf2.
int memicmp(const void *buf1, const void *buf2, size_t count);
比較buf1和buf2前面count個位元組. 與memcmp不同的是, 它不區分大小寫.
傳回值同上.
size_t strlen(const char *string);
擷取字串長度, 字串結束符NULL不計算在內.
沒有傳回值指示操作錯誤.
char *strrev(char *string);
將字串string中的字元順序顛倒過來. NULL結束符位置不變.
返回調整後的字串的指標.
char *_strupr(char *string);
將string中所有小寫字母替換成相應的大寫字母, 其它字元保持不變.
返回調整後的字串的指標.
char *_strlwr(char *string);
將string中所有大寫字母替換成相應的小寫字母, 其它字元保持不變.
返回調整後的字串的指標.
char *strchr(const char *string, int c);
尋找字元c在字串string中首次出現的位置, NULL結束符也包含在尋找中.
返回一個指標, 指向字元c在字串string中首次出現的位置, 如果沒有找到, 則返回NULL.
char *strrchr(const char *string, int c);
尋找字元c在字串string中最後一次出現的位置, 也就是對string進行反序搜尋, 包含NULL結束符.
返回一個指標, 指向字元c在字串string中最後一次出現的位置, 如果沒有找到, 則返回NULL.
char *strstr(const char *string, const char *strSearch);
在字串string中尋找strSearch子串.
返回子串strSearch在string中首次出現位置的指標. 如果沒有找到子串strSearch, 則返回NULL. 如果子串strSearch為空白串, 函數返回string值.
char *strdup(const char *strSource);
函數運行中會自己調用malloc函數為複製strSource字串分配儲存空間, 然後再將strSource複製到分配到的空間中. 注意要及時釋放這個分配的空間.
返回一個指標, 指向為複製字串分配的空間; 如果分配空間失敗, 則返回NULL值.
char *strcat(char *strDestination, const char *strSource);
將源串strSource添加到目標串strDestination後面, 並在得到的新串後面加上NULL結束符. 源串strSource的字元會覆蓋目標串strDestination後面的結束符NULL. 在字串的複製或添加過程中沒有溢出檢查, 所以要保證目標串空間足夠大. 不能處理源串與目標串重疊的情況.
函數返回strDestination值.
char *strncat(char *strDestination, const char *strSource, size_t count);
將源串strSource開始的count個字元添加到目標串strDest後. 源串strSource的字元會覆蓋目標串strDestination後面的結束符NULL. 如果count大於源串長度, 則會用源串的長度值替換count值. 得到的新串後面會自動加上NULL結束符. 與strcat函數一樣, 本函數不能處理源串與目標串重疊的情況.
函數返回strDestination值.
char *strcpy(char *strDestination, const char *strSource);
複製源串strSource到目標串strDestination所指定的位置, 包含NULL結束符. 不能處理源串與目標串重疊的情況.
函數返回strDestination值.
char *strncpy(char *strDestination, const char *strSource, size_t count);
將源串strSource開始的count個字元複製到目標串strDestination所指定的位置. 如果count值小於或等於strSource串的長度, 不會自動添加NULL結束符目標串中, 而count大於strSource串的長度時, 則將strSource用NULL結束符填充補齊count個字元, 複製到目標串中. 不能處理源串與目標串重疊的情況.
函數返回strDestination值.
char *strset(char *string, int c);
將string串的所有字元設定為字元c, 遇到NULL結束符停止.
函數返回內容調整後的string指標.
char *strnset(char *string, int c, size_t count);
將string串開始count個字元設定為字元c, 如果count值大於string串的長度, 將用string的長度替換count值.
函數返回內容調整後的string指標.
size_t strspn(const char *string, const char *strCharSet);
尋找任何一個不包含在strCharSet串中的字元 (字串結束符NULL除外) 在string串中首次出現的位置序號.
返回一個整數值, 指定在string中全部由characters中的字元組成的子串的長度. 如果string以一個不包含在strCharSet中的字元開頭, 函數將返回0值.
size_t strcspn(const char *string, const char *strCharSet);
尋找strCharSet串中任何一個字元在string串中首次出現的位置序號, 包含字串結束符NULL.
返回一個整數值, 指定在string中全部由非characters中的字元組成的子串的長度. 如果string以一個包含在strCharSet中的字元開頭, 函數將返回0值.
char *strspnp(const char *string, const char *strCharSet);
尋找任何一個不包含在strCharSet串中的字元 (字串結束符NULL除外) 在string串中首次出現的位置指標.
返回一個指標, 指向非strCharSet中的字元在string中首次出現的位置.
char *strpbrk(const char *string, const char *strCharSet);
尋找strCharSet串中任何一個字元在string串中首次出現的位置, 不包含字串結束符NULL.
返回一個指標, 指向strCharSet中任一字元在string中首次出現的位置. 如果兩個字串參數不含相同字元, 則返回NULL值.
int strcmp(const char *string1, const char *string2);
比較字串string1和string2大小.
傳回值< 0, 表示string1小於string2;
傳回值為0, 表示string1等於string2;
傳回值> 0, 表示string1大於string2.
int stricmp(const char *string1, const char *string2);
比較字串string1和string2大小,和strcmp不同, 比較的是它們的小寫字母片本.
傳回值與strcmp相同.
int strcmpi(const char *string1, const char *string2);
等價於stricmp函數, 只是提供一個向後相容的版本.
int strncmp(const char *string1, const char *string2, size_t count);
比較字串string1和string2大小,只比較前面count個字元. 比較過程中, 任何一個字串的長度小於count, 則count將被較短的字串的長度取代. 此時如果兩串前面的字元都相等, 則較短的串要小.
傳回值< 0, 表示string1的子串小於string2的子串;
傳回值為0, 表示string1的子串等於string2的子串;
傳回值> 0, 表示string1的子串大於string2的子串.
int strnicmp(const char *string1, const char *string2, size_t count);
比較字串string1和string2大小,只比較前面count個字元. 與strncmp不同的是, 比較的是它們的小寫字母片本.
傳回值與strncmp相同.
char *strtok(char *strToken, const char *strDelimit);
在strToken 串中尋找下一個標記, strDelimit字元集則指定了在當前尋找調用中可能遇到的分界符.
返回一個指標, 指向在strToken中找到的下一個標記. 如果找不到標記, 就返回NULL值. 每次調用都會修改strToken內容, 用NULL字元替換遇到的每個分界符.