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語言資料。
關注我的個人博客:【我的博客】查看更多筆記