C語言中的字串函式

2021-07-02 15:24:07 字數 2778 閱讀 5722

一. ansi c標準中的字串函式(使用時要包含標頭檔案"string.h")

1.strcpy()

宣告:char *strcpy (char *dest, char *src);

功能:把src指向的字串複製到dest中

返回值:dest

說明:目的指標dest一定是已經分配記憶體的指標,dest和src所指記憶體區域不可重疊,且dest必須有足夠的空間容納src的字串

2.strcat()

宣告:char *strcat (char *str1, char *str2);

功能:把字串str2接到str1後面,str1最後的 '\0' 被刪除

返回值:str1

3.strchr()

宣告:char *strchr (char *str, int ch);

功能:找出str指向的字串中第一次出現字元ch的位置

返回值:返回指向該位置的指標,如果找不到則返回空指標

4.strcmp()

宣告:int strcmp (char *str1, char *str2);

功能:比較字串str1和str2

返回值:str1str1=str2,返回0;

str1>str2,返回正數

5.strlen()

宣告:unsigned int strlen (char *str);

功能:統計字串str中字元的個數(不包括終止符 '\0' )

返回值:字元個數

6.strstr()

宣告:char *strstr (char *str1, char *str2);

功能:找出字串str2在str1中第一次出現的位置(不包括str2的終止符)

返回值

返回指向該位置的指標,如果找不到則返回空指標

7.strtok()

宣告:char *strtok (char *s, char *delim);

功能:分解字串為一組字串,s為要分解的字串,delim為分隔符字串

返回值

從s開頭開始的乙個個被分割的串。當沒有被分割的串時則返回null。所有delim中包含的字元都會被濾掉,並將被濾掉的地方設為一處分割的節點。

說明

首次呼叫時,s指向要分解的字串,之後再次呼叫要把s設成null。strtok在s中查詢包含在delim中的字元並用null('/0')來替換,直到找遍整個字串。

二. 非ansi c標準的字串函式(使用時要包含標頭檔案"string.h")

1.strdup()

宣告:char *strdup (char *src);

使用:dest = strdup (src)

功能:複製字串src至dest

返回值:返回指向dest的指標

說明:strdup可以直接把字串複製給沒有初始化的指標,所需空間由malloc()自動分配給目的指標,使用結束後要手動釋放系統自動分配的空間,所以不建議使用

三. stdlib.h中的字串函式

1.strtoul()

宣告:unsigned long strtoul(const char *nptr,char **endptr,int base);

功能:將字串nptr根據引數base來轉換成無符號的長整形數

返回值:返回轉換後的長整型數,否則返回erange並將錯誤**存入errno中

說明:引數base範圍從2至36,或0。base代表採用的進製方式,為10則採用10進製,為16則採用16進製制數等。當base值為0時會根據情況選擇用哪種進製:如果第乙個字元是'0',就判斷第二字元如果是『x』則用16進製制,否則用8進製;第乙個字元不是『0』,則用10進製。

2.atoi()

宣告:int atoi(const char *nptr);

功能:將字串nptr轉換成整形數

返回值:返回轉換後的整形數,否則返回零

說明:掃瞄字串nptr,跳過前面的空格字元,直到遇上數字或正負號才開始做轉換,再遇到非數字(包括結束符 '\0')結束轉化

c語言中字串常用函式

程式設計中,常用到字串的各個函式,總結如下 1 字串的初始化 1 char ch 5 字串,不是字元陣列 2 char ch 5 字串,不是字元陣列,因為 0 與0等價。3 char ch 5 字串,不是字元陣列 4 char ch 很明顯的字串 2 字串的複製 1 strcpy char ch 5...

c語言中字串操作的函式

include include 務必包含這個標頭檔案 void str cat char str1,char str2 void str cpy char str1,char str2 void str n cpy char str1,char str2,int n void str cmp cha...

C語言中處理字串的函式

在c語言中有許多字串處理函式,在寫程式的時候常常想不起來或則不了解區別,今天就花點時間將這些函式做個總結,以便以後查詢使用。char buf 10 scanf s buf 輸入 tttt3 printf buf s n buf 結果 buf tttt3 char buf1 10 scanf s s ...