其他參考:
c++中的string字串
一,字元
型別:char
輸入:getchar
輸出:putchar
示例:
#include void main()
return;
}
執行結果:(8行)
a^zb
97a26
a97a
10^z
解釋:
輸入a^zb並回車,輸入了2個字元a和^z,再輸入a並回車,輸入了2個字元a和換行符,再輸入^z程式結束
注1:'\0'的ascii碼是0,『^a』 - '^z' 的ascii碼是1-26,其中換行符'\n'的是10,'^z'的是26,但是當輸入緩衝區為空時'^z'出現在'\n'之後時,'^z'的ascii碼是-1,表示檔案結尾end of file
注2:eof是常量-1,oj輸入輸出經常用eof來控制。
注3:10號'\n'和26號'^z'都是getchar的截斷,輸入一行字串,getchar只能讀取到第乙個'\n'或'^z',後面如果還有就丟棄
二,字串
1,字串的表示
c語言中,字串用char陣列表示,字串末尾加上'\0'表示結束
2,輸入輸出
輸入:gets
輸出:puts
示例:
#include #includevoid main()
執行結果1:(4行)
abcde
^za5
abcde
執行結果2:(5行)
abcde
a^zb
2a?
可以看出,換行符和^z都是gets函式的截斷,區別在於
換行符會被gets讀取並丟棄,而gets對^z的處理和getchar一樣,緩衝區為空時就是-1號字元,緩衝區不為空時就是26號字元
3,strcat函式——字串連線
string catenate字串連線
示例:
#include #includevoid main()
執行結果:
2 2
4 2abcd cd
strcat(str1, str2)函式就是把str2複製到str1後面
4,strcpy和strncpy函式——字串複製
strcpy(str1,str2)把str2複製到str1的位置
strncpy(str1,str2,n)把str2的前n個字元複製到str1的位置
5,strcmp函式——字串比較
strcmp(str1,str2)是按照字典序比較,返回值》0,=0,<0分別表示str1>str2,str1==str2,str16,strlen和sizeof——字串長度
sizeof是關鍵字,計算的是陣列長度
strlen是函式,計算的是字串中字元數目,不包括'\0'
7,strlwr和strupr函式——字串大小寫
strlwr是把大寫字母換成小寫字母
strupr是把小寫字母換成大寫字母
C語言 字串和字串函式
輸入 gets 函式 1.gets 從標準輸入裝置讀取字串,以回車結束讀取,使用 0 結尾,回車符 n 被捨棄沒有遺留在緩衝區。2.可以用來輸入帶空格的字串。3.可以無限讀取,不會判斷上限,因此使用gets不安全,可能會造成溢位。fgets 和 fputs 函式 1.fgets函式的第2個引數指明了...
C語言字元陣列和字串
用來存放字元的陣列稱為字元陣列,例如 char a 10 一維字元陣列 char b 5 10 二維字元陣列 char c 20 給部分陣列元素賦值 char d 對全體元素賦值時可以省去長度 字元陣列實際上是一系列字元的集合,也就是 字串 string 在c語言中,沒有專門的字串變數,沒有stri...
C語言輸入字元和字串
字元 對三個函式的總結 getchar getche getch 函式緩衝區 標頭檔案回顯 適用平台 getchar 有stdio.h 有windows linux mac os 等所有平台 getche 無conio.h 有windows getch 無conio.h 無windows 使用者按下...