getc(),getchar(),getch()和getche()函数之间的差异

所有这些函数都用于从输入中获取字符,并且每个函数还返回一个整数,表示状态码。

以下是getc(),getchar(),getch()和getche()函数之间的重要区别。

getc()

getc()可以从任何流中读取字符。失败时返回EOF。

语法

int getc(FILE *stream);

getchar()

getchar()只能从标准输入读取字符。

语法

int getchar();

getch()

getch()可以从标准输入中读取字符,但是它不使用任何缓冲区,并且可以立即返回,而无需等待按下Enter键。

语法

int getch();

getche()

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