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