所有这些函数都用于从输入中获取字符,并且每个函数还返回一个整数,表示状态码。
以下是getc(),getchar(),getch()和getche()函数之间的重要区别。
getc()可以从任何流中读取字符。失败时返回EOF。
语法
int getc(FILE *stream);
getchar()只能从标准输入读取字符。
语法
int getchar();
getch()可以从标准输入中读取字符,但是它不使用任何缓冲区,并且可以立即返回,而无需等待按下Enter键。
语法
int getch();
getche()的行为与getch()相似,因为它可以从标准输入中读取字符,并且不使用任何缓冲区并立即返回而无需等待按下回车键。唯一的区别是它也打印字符。
语法
int getch();
#include <stdio.h> #include <conio.h> int main() { printf("%c", getc(stdin)); printf("%c", getchar()); printf("%c", getch()); printf("%c", getche()); return 0; }
输出结果
A B C D EE