字元:
對三個函式的總結:getchar(),getche(),getch()
函式緩衝區
標頭檔案回顯
適用平台
getchar()
有stdio.h
有windows、linux、mac os 等所有平台
getche()
無conio.h
有windows
getch()
無conio.h
無windows
使用者按下回車鍵時,getchar() 將讀取到\n
字元,而 getch() 將讀取到\r
字元。也就是說,對於不同的字元輸入函式,回車鍵產生的字元不同,這個細節讀者要引起注意。
字串:
gets() 是有緩衝區的,每次按下回車鍵,就代表當前輸入結束了,gets() 開始從緩衝區中讀取內容,這一點和 scanf() 是一樣的。gets() 和 scanf() 的主要區別是:
c語言中常用的從控制台讀取資料的函式有五個,它們分別是 scanf()、getchar()、getche()、getch() 和 gets()。其中 scanf()、getchar()、gets() 是標準函式,適用於所有平台;getche() 和 getch() 不是標準函式,只能用於 windows。
scanf() 是通用的輸入函式,它可以讀取多種型別的資料。
getchar()、getche() 和 getch() 是專用的字元輸入函式,它們在緩衝區和回顯方面與 scanf() 有著不同的特性,是 scanf() 不能替代的。
gets() 是專用的字串輸入函式,與 scanf() 相比,gets() 的主要優勢是可以讀取含有空格的字串。
scanf() 可以一次性讀取多份型別相同或者不同的資料,getchar()、getche()、getch() 和 gets() 每次只能讀取乙份特定型別的資料,不能一次性讀取多份資料。
C語言輸入字元和字串
c語言有多個函式可以從鍵盤獲得使用者輸入,它們分別是 scanf 和 printf 類似,scanf 可以輸入多種型別的資料。getchar getche getch 這三個函式都用於輸入單個字元。gets 獲取一行資料,並作為字串處理。scanf 是最靈活 最複雜 最常用的輸入函式,我們講解字元輸...
C語言字串輸入和輸出
字串一文對字串做了個簡單介紹,若要讀取字串,則首先需要分配空間,最簡單的辦法就是宣告陣列,如下 char name 20 c語言提供了許多字串輸入函式 scanf gets 和fgets 等 輸出函式 printf puts 和fputs 函式等。本文主要講解這部分內容。另外,c 也提供了字串行輸入...
C語言 字串和字串函式
輸入 gets 函式 1.gets 從標準輸入裝置讀取字串,以回車結束讀取,使用 0 結尾,回車符 n 被捨棄沒有遺留在緩衝區。2.可以用來輸入帶空格的字串。3.可以無限讀取,不會判斷上限,因此使用gets不安全,可能會造成溢位。fgets 和 fputs 函式 1.fgets函式的第2個引數指明了...