C語言 字串函式大全和詳解

2022-03-05 16:52:38 字數 4862 閱讀 3075

atof(將字串轉換成浮點型數)

atoi(將字串轉換成整型數)

atol(將字串轉換成長整型數)

strtod(將字串轉換成浮點數)

strtol(將字串轉換成長整型數)

strtoul(將字串轉換成無符號長整型數)

toascii(將整型數轉換成合法的ascii 碼字元)

toupper(將小寫字母轉換成大寫字母)

tolower(將大寫字母轉換成小寫字母)

c語言字串函式詳解

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不同, 比較的是它們的小寫字母版本.

C語言 字串函式大全和詳解

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...

C語言字串函式大全

函式名 stpcpy 功能 拷貝乙個字串到另乙個 用法 char stpcpy char destin,char source 程式例 include include int main void 函式名 strcat 功能 字串拼接函式 用法 char strcat char destin,char...

C字串函式大全

字串1 字串的長度用length表示,string s hello!int l 越界時會出現indexoutofrang 2 複製字串 string string1 how do you do string string2 string1 copy 函式。string string2 copyto ...