C語言字元讀入函式總結

2021-08-21 04:23:57 字數 943 閱讀 3492

在使用c語言程式設計時,常用到的字元錄入函式有getchar(),getch()和getche()。這三個函式的基本功能類似,不過有稍許區別,基本資訊如下表所示。

函式名稱

函式原型

標頭檔案返回值

說明getchar

int getchar(void)

stdio.h

返回使用者輸入的第乙個字元的ascii碼

按回車結束輸入,從輸入緩衝中讀取字元,不忽略空白

getch

int getch(void)

conio.h

返回使用者輸入的字元的ascii碼

從鍵盤上讀入乙個字元,輸入的字元不回顯在螢幕上

getche

int getche(void)

conio.h

返回使用者輸入的字元的ascii碼

從鍵盤上讀入乙個字元,輸入的字元回顯在螢幕上

可以將getch()和getche()函式分為一組,這兩者之間的區別在於是否回顯字元到螢幕上。其共同點在於直接從鍵盤上讀取字元,不像getchar()從緩衝區中讀取字元。使用getche()函式時按下字元鍵,在螢幕上立即顯示乙個字元。

而若使用getchar()函式,則需要在輸入完成後手動按下回車,並且回車鍵也會存到輸入緩衝區中。舉個栗子:若使用getchar()函式輸入「abcd」之後再按下回車鍵。那麼緩衝區中就有「abcd\n」五個字元,而getchar()函式只返回字元『a』的ascii碼,那麼最後緩衝區中就還有「bcde」。因此不論後面是否還呼叫getchar()函式,下一次讀取的字元一定為『b』。

嘗試下面的**進行深入了解。

#include #include #include using namespace std;

int main()

{ char ch;

ch = getchar();

cout《輸入:19回車2體驗一下應該就明白了。

C語言字串讀入函式筆記

gets str 函式和scanf s str 區別 二者都是從終端讀入字串。功能為 1 gets功能為讀入一行,並將換行符轉換為字串結束符。2 scanf s s 讀入時,遇到空白字元,包括空格,製表符,換行符時均會停止輸入。從功能上可以看出不同之處 1 終止條件不同。gets只有遇到 n時才會結...

字串讀入問題 C語言

字串讀入3種形式 scanf gets getchar scanf不可以讀入空格,讀入空格即可停止,算乙個字元陣列 不含空格 可以應用於2個句子間有很多空格,但2個句子本身沒有空格 gets可以讀入空格,可以讀入含有空格的句子的時候,getchar是讀入乙個字元,可以讀入空格,經常用於處理讀掉空格。...

C 字串讀入函式(gets getline)

對於字串的讀入,我們有scanf和cin這兩個最為經典的函式,但是我們發現這兩個函式如果遇到空格或換行就結束了。可有時我們希望讀到空格時不要結束,讀到回車在結束。甚至有時我們希望連遇到空格也不結束,直到遇到乙個指定的字元時才結束本次讀入。而cstdio和iostream標頭檔案為了解決這個問題分別提...