字串處理函式

2021-07-23 19:02:32 字數 2662 閱讀 3713

字串處理函式標頭檔案#include

strlen​(字元陣列名): 會返回引數中字元陣列中字串的不包含『\0'的長度。

strcat(str1,str2):會將字串str2拼接到字串str1的後面,但是這裡有乙個問                      題,如果str1的長度不夠大的話就會導致字串溢位,就會覆蓋字元                           串str1之後的記憶體空間,可能會造成嚴重的影響。

strncat(​

​str1,str2,n)

:功能也是將str2拼接到str1中,但相比較strcat()而言                  strncat()多了乙個size_t型別引數,strncat(​str1,str2,n)也就表示把str2            的前n個字元拼接到str1中。

strcmp

:​strcmp(str1,str2) 比較字串str1和str2是否完全相同,如果完全相同則返          回 0,如果str1大於str2返回1,否則返回-1;

strcpy

:​strcpy(str1,str2)的作用是將字串str2中的內容完全賦值給str1

strncpy

:strncpy(str1,str2,n)將str2的前n個字元複製到str1中,一般建議將n設為str1的長度,防止字串溢位,為了保險起見最好將str1最後的字元置null。

strchr​

:strchr(str1,a)的意思是查詢字元a在字串str1中首次出現的位置(char*指            針)。找到的話就返回首次出現a的位置的指標​,沒找到就返回null

strpbrk

:​strpbrk(str1,str2),在源字串str1中查詢最先出現字串str2中任意字              符的位置,這裡返回的是指向str1字串最先出現所找字元的指標,所以一定要            保證str1的有效性;如果沒有找到則會返回null;

strrchr

:​strrchr(str1,c),查詢字元c在字串str1中從後面開始的第一次出現的位置,如            果成功,則返回最後一次出現a的位置的指標,如果失敗,則返回 null。

strstr

:​strstr(str1,str2),這個函式的作用是在字串str1中查詢字串str2,如果            找到則返回str2在str1中第一次出現位置的指標(這個指標是指向str1中字元的指          針所以需保持str1有效),如果沒找到則返回null。

atoi

:​int a=atoi(str);atoi是ascii to integer 的縮寫,意思就是將字串轉換成整           形。注意:這裡的str中必須包含數字字元,他會從第一次出現數字字元或'+','-'             開始直到遇到非數字字元結束中間的轉換為整形並返回。

atof:float a=​atoi(str);atof是ascii to float 的縮寫,與atoi類似,作用是將字元         串轉換為浮點型。

atol:long int  a=​atol(str);atol是ascii to long的縮寫,用法同上

這裡的atoi,atof和atol都有侷限性,只能單純的轉換並不能返回轉換的位置。

strtol​:long int strtol(const char *nptr,char **endptr,int base) 這裡有三個引數,第          乙個nptr是要轉換成長整型的目標字串,第二個引數是乙個傳出引數用來返回            轉換的長整型的結尾在源字串中位置,比如將wsd1234asd轉換為長整型,                endptr則指向a位置,第三個引數表示轉換格式,base為10時表示十進位制為16時          表示十六進製制,為8時表示8進製。

strtod:double strtod(const char *nptr,char **endptr);將字串轉換為double型別          strtod()會掃瞄引數nptr字串,跳過前面的空格字元,直到遇上數字或正負符號          才開始做轉換,到出現非數字或字串結束時('\0')才結束轉換,endptr的作用和          strol中一樣​

。引數nptr字串可包含

正負號、小數點或e(e)來表示指數部分。如            123.456或123e-2。

​數值或浮點數轉換為字元使用sprintf,它的作用是將某個型別的變數或常量進行格式化輸出

int sprintf( char *buffer, const char *format, [ argument] … );​

buffer:char型指標,指向將要寫入的字串的緩衝區。

format:格式化字串。(在這裡規定要以什麼格式輸出變數或常量)

[argument]...:可選引數,可以是任何型別的資料。(要格式輸出的變數或常量)

返回的int是指字串長度。

比如char s[255];

char *a="who";

​sprintf(s,"%s am %s?",a,"i")​;

會將who am i?寫入字串s;

或者將浮點型格式化輸出到字串;

char s[255];

float f=1234.56789;

sprintf(s,"%7.2f",f);會將1234.56寫入字串s;

字串處理函式

1 puts 向顯示器輸出字串 原型 int puts const char s 標頭檔案 include 返回值 成功返回輸出的字元數,失敗返回eof puts 函式與printf 輸出字串的區別 1.puts在輸出字串時,遇到 0 會自動終止輸出,並將 0 轉換為 n 來輸出 2.printf在...

字串處理函式

puts 函式 用來向標準輸出裝置 螢幕 寫字串並換行,其呼叫格式為 puts s 其中s為字串變數 字串陣列名或字串指標 puts 函式的作用與語printf s n s 相同,將緩衝區的字元輸出到標準輸出,遇到空字元截至,並且在末尾新增乙個換行符。gets 函式用來從標準輸入裝置 鍵盤 讀取字串...

字串處理函式

下面介紹幾個最常用的字串函式。格式 puts 字元陣列名 功能 把字元陣列中的字串輸出到顯示器。即在螢幕上顯示該字串。例7 12 include stdio.h main 從程式中可以看出puts函式中可以使用轉義字元,因此輸出結果成為兩行。puts函式完全可以由printf函式取代。當需要按一定格...