(1)puts 向顯示器輸出字串
原型:int puts(const char *s)
標頭檔案:#include
返回值:成功返回輸出的字元數,失敗返回eof
puts()函式與printf()輸出字串的區別:
1.puts在輸出字串時,遇到'/0'會自動終止輸出,並將'/0'轉換為'/n'來輸出
2.printf在輸出字串時,遇到'/0' 只是終止輸出,並不會 '/0'轉換為'/n'來輸出
例子:#include
main()
輸出結果:
abcd //(自動換行了,將『/0』轉換成『 /n』 了 )
1234 //(自動換行了,將『/0』轉換成『 /n』 了 )
5 //(返回值含有 『/0』,所以為num=5)
abcd1234
(2)strcat 字串連線
strcat能夠將字串2連線到字串1的後面。要注意的是字串1必須能夠裝下字串2。連線前,兩串均以'/0'結束,連線後,串1的'/0'被取消,新串最後加『'/0'
原型:char *strcat(char *s1, char *s2) 結果放在字串1中
標頭檔案:#include
strlen 字串長度
標頭檔案:#include
原型:int strlen(const char *s);
返回值:返回字串實際長度 不包含『/0』 在內
例子:#include
#include
main()
輸出結果:
sizeof(a) = 10
strlen(a) = 8 //( strlen()為有效字元的長度,不含'/0')
abcd1234
(3) strcpy 字串拷貝
標頭檔案:#include
原型: char *strcpy(char *s1, char *s2)
注:strcpy將字串2,拷貝到字元陣列1中去,要注意,字元陣列1必須足夠大,拷貝時'/0'一同拷貝,不能使用賦值語句為乙個字元陣列賦值。
例子:
#include
#include
main()
輸出:
123 //將 『/0』也拷貝過去 遇到 『/0』結束 所以只輸出123沒有d
(4)strcmp 字串比較
標頭檔案:#include
函式原型:int strcmp(char *s1, char *s2)
返回值: 返回int型的整數
strcmp對兩串從左向右逐個字元比較(ascll嗎),直到遇到不同字元或'/0'為止。若s1大於s2返回正整數1,若s1小於s2返回負整數-1,若s1等於s2返回0。
要注意字串比較不能用"= =",必須用strcmp.
例子:#include
#include
main()
輸出:0
(5)sprintf與fprintf區別:
注意:這兩個函式都不是輸出
例子:#include
main()
sprintf(buffer, "i love my mother!");
printf("%s/n", buffer);
fprintf(fp, "%s", a);
for(i=0; i<3; i++)
fclose(fp);
}輸出:
i love my mother!
檔案wan中內容為:
abcdi love my mother!i love my mother!i love my mother! //內容沒有覆蓋跟在後面
sprintf 格式化字串複製
標頭檔案:#include
原型:int sprintf(char *s1, 格式, char *s2) //格式這個引數可沒有,直接賦值
返回值:成功返回引數s1字串的長度,失敗返回-1
sprintf會把引數s2字串轉換為格式化資料,然後將結果複製到引數s1所指的字元陣列,直到出現字串結束符/0為止.
fprintf輸出到檔案中,sprintf輸出到字串中.
如: fprintf(fp,"%s",name);
fp為檔案指標 打到檔案裡面(file *)即:寫檔案
sprintf(buff,"%s",name);
buff為字元陣列 打到字元陣列裡面(char *)即:字元陣列賦值
(6) atoi與atof
例子:#include
#include
main()
輸出:b = 1234
c = 1234.000000
atoi 將字串轉換成整形數
標頭檔案: #include
原型:int atoi(const char *s)
返回值:返回轉換後的整形數
atoi會掃瞄引數s字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束符/0時結束轉換,並將結束返回.
atof 將字串轉換為浮點數
標頭檔案:#include
原型:float atof(const char *s)
返回值:返回轉換後的浮點數
atof會掃瞄引數s字串,跳過前面的空格字元,直到遇上數字或正負符號才開始做轉換,而再遇到非數字或字串結束符/0時結束轉換,並將結果返回.
(7) strtok 字串分割
標頭檔案:#include
原型:char *strtok(char *s1, char *s2)
strtok可將字串分割,當strtok在引數s1的字串中發現到引數s2的分割字元時則會將該字元改為/0字元。
在第一次呼叫時,strtok必須給予引數s字串,往後的呼叫則將引數s設定為null.(這句話一定要記住
)
例子:1:
#include
#include
main()
}輸出無數個:abc
2:#include
#include
main()
}只輸出兩個:
abcabc
3:#include
#include
main()
}輸出:
abcij
892kk
4:#include
#include
main()
}輸出:
aba134
ijcd
892kk
8) strcpy() memset() memcpy()比較:
#include
#include
main()
輸出:i love my mother
i love my mother guwan
注意:memset()一般用於對字串的賦值,最好不要用於整型。 memset()是以位元組為單位賦值 整型4個位元組
memcpy(),memset()有3個引數
mem是一段記憶體,他的長度,必須你自己記住
str也是一段記憶體,不過它的長度,你不用記,隨時都可以計算出來
所以memcpy需要第三個引數,而strcpy不需要
strncmp(char *s1, char *s2, int n)
功能:比較字串s1和s2的前n個字元。
說明:當s1s2時,返回值》0 為乙個正數s2減去s2的值
而strcmp(char *s1, char *s2)返回值:相等為0, 大於為1, 小於為-1
注意之間的區別
字串處理函式
puts 函式 用來向標準輸出裝置 螢幕 寫字串並換行,其呼叫格式為 puts s 其中s為字串變數 字串陣列名或字串指標 puts 函式的作用與語printf s n s 相同,將緩衝區的字元輸出到標準輸出,遇到空字元截至,並且在末尾新增乙個換行符。gets 函式用來從標準輸入裝置 鍵盤 讀取字串...
字串處理函式
下面介紹幾個最常用的字串函式。格式 puts 字元陣列名 功能 把字元陣列中的字串輸出到顯示器。即在螢幕上顯示該字串。例7 12 include stdio.h main 從程式中可以看出puts函式中可以使用轉義字元,因此輸出結果成為兩行。puts函式完全可以由printf函式取代。當需要按一定格...
字串處理函式
字串處理函式標頭檔案 include strlen 字元陣列名 會返回引數中字元陣列中字串的不包含 0 的長度。strcat str1,str2 會將字串str2拼接到字串str1的後面,但是這裡有乙個問 題,如果str1的長度不夠大的話就會導致字串溢位,就會覆蓋字元 串str1之後的記憶體空間,可...