C++字串函數詳解

來源:互聯網
上載者:User

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字元替換遇到的每個分界符.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.