【C語言學習】getchar()、getche()、getch()有什么區(qū)別?

1、getchar()函數(shù)

所在頭文件:stdio.h

函數(shù)原型:int getchar(void);

函數(shù)功能:讀取控制臺輸入的字符,并保存在鍵盤緩沖區(qū)中。直到用戶按回車為止(回車字符也放在緩沖區(qū)中)。

看一段代碼:

#include <stdio.h>

int main(void)
{
   printf("%c\n", getchar());

   return 0;
}

當輸入一個字符并按回車時,該字符被存入緩沖區(qū)中,printf函數(shù)再把緩沖區(qū)中的該字符輸出。如輸入輸出實例:

d
d

2、getche()函數(shù)

所在頭文件:conio.h

函數(shù)原型:int getche(void);

函數(shù)用途:輸入后立即從控制臺取字符,不以回車為結(jié)束,且立刻顯示在屏幕上(帶回顯)。

看一段代碼:

#include <stdio.h>
#include <conio.h>
int main(void)
{
   printf("%c\n", getche());

   return 0;
}

該函數(shù)的輸入輸出示例:

dd

也就是說,輸入d,直接就輸出d,不需要按回車鍵,即該函數(shù)不帶緩沖區(qū),且輸入有回顯?;仫@的意思就是在控制臺顯示輸入的字符。

3、getch()函數(shù)

所在頭文件:conio.h

函數(shù)原型:int getch(void);

函數(shù)用途:從控制臺讀取一個字符,但不顯示在屏幕上(不帶回顯)。

看一段代碼:

#include <stdio.h>
#include <conio.h>
int main(void)
{
   printf("%c\n", getch());

   return 0;
}

輸入輸出實例:

d

輸入d,不會顯示d,當調(diào)用printf函數(shù)后才輸出d??刂婆_讀取一個字符,但不顯示在屏幕上(不帶回顯)。

此外,還需要注意的一個問題是:conio.h這個頭文件是 windows 平臺下特有的,其他平臺如 Linux、Mac OS 等平臺是沒有的,所以使用getch()函數(shù)與getche()函數(shù)應該注意平臺的問題。

以上就是關于getchar()、getche()、getch()的總結(jié),如有錯誤歡迎指出!


關注我的公號【嵌入式大雜燴】,回復:C語言,可獲取C語言資料。
關注我的個人博客:【我的博客】查看更多筆記

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容