字元資料的輸入輸出

2021-08-21 19:24:22 字數 824 閱讀 7942

輸入:scanf函式、getchar()函式、gets()函式。

輸出:printf函式、putchar()函式、puts()函式。

相互的區別和作用:(這裡只以輸入函式舉例)

一:scanf函式:

scanf可以用來輸入乙個字元:scanf("%c",&a);

scanf可以用來輸入多個字元:scanf("%s",&a);

二:getchar()函式:只能用於輸入乙個字元:getchar(s);

三:gets()函式:用來輸入多個字元。

gets()函式用來從標準輸入裝置(鍵盤)讀取字串直到回車結束, 但回車符

不屬於這個字串。其呼叫格式為:

gets(s);

其中s為字串變數(字串陣列名或字串指標)。

注意:gets(s)函式與scanf("%s", s)相似, 但不完全相同, 使用scanf("%s", s)

函式輸入字串時存在乙個問題, 就是如果輸入了空格會認為輸入字串結束,

空格後的字元將作為下乙個輸入項處理, 但gets() 函式將接收輸入的整個字元

串直到回車為止。

(1)gets() 從標準輸入裝置讀取字串,以回車結束讀取,使用'\0'結尾,回車符'\n'被捨棄沒有遺留在緩衝區。

(2)可以用來輸入帶空格的字串。

(3)可以無限讀取,不會判斷上限,因此使用gets不安全,可能會造成溢位

scanf()函式總結:

(1)scanf() 以 空格 或 回車符 結束讀取,空格 或 回車符 會遺留在緩衝區。

(2)不能直接輸入帶空格的字串。

字元輸入輸出流

注意 在寫出的時候一定要注意要記得清空緩衝區!字元輸入流 filereader 跟fileinputstream使用的方式和方法一樣 不過返回的資料型別為 char 型別的,所以我們要用 char 字串陣列接受 方法close 關閉輸入流 int read 從輸入流讀取下一字元 int read c...

字元陣列的輸入輸出

scanf 對字元型別有 c 和 s 兩種格式 printf 同理,下同 其中 c 用來輸入單個字元,s 用來輸入乙個字串並存在字元陣列裡。c 格式能識別空格跟換行並將其輸入,而 s 通過空格或換行來識別乙個字串的結束。示例 includeint main 輸入 tat tat tat 輸出 tat...

字元陣列的輸入輸出

include c 的萬用標頭檔案 using namespace std intmain c 十分神奇,可以直接用輸入輸出流操作char陣列 int絕對不可以 include c 的萬用標頭檔案 using namespace std intmain include using namespace...