📅  最后修改于: 2023-12-03 14:41:23.560000             🧑  作者: Mango
getc()
, getchar()
, getch()
, 和 getche()
都是用于从标准输入设备(键盘)获取输入。但是它们之间有一些区别。
getchar()
是C语言标准库中的一种输入函数,用于从标准输入设备(键盘)中获取一个字符,并返回其ASCII码。
int getchar(void);
返回值:获取到的字符的ASCII码,如果遇到文件结尾或错误则返回 EOF。
示例代码:
#include <stdio.h>
int main()
{
char c;
printf("请输入一个字符:");
c = getchar();
printf("您输入的字符是:%c\n",c);
return 0;
}
该程序执行后,会等待用户在键盘上输入一个字符,然后将获取到的字符输出到屏幕上。
getc()
是C语言标准库中的一种输入函数,它和 getchar()
的作用类似,但是可以从任意文件中获取输入。获取到的字符并不一定是 ASCII 码,因为它取决于文件的编码方式。
int getc(FILE *stream);
返回值:获取到的字符,如果遇到文件结尾或错误则返回 EOF。
示例代码:
#include <stdio.h>
int main()
{
FILE *fp;
char c;
fp = fopen("test.txt", "r");
while ((c = getc(fp)) != EOF)
{
putchar(c);
}
fclose(fp);
return 0;
}
该程序会打开一个名为 test.txt 的文件,并将文件中的所有字符读取并输出到屏幕上。
getch()
是Windows平台下的一个非标准输入函数,其功能和 getchar()
类似,但是不需要用户按下回车键,而是在用户输入字符的同时立即返回用户输入的字符。它通常用于游戏、控制台程序等需要读取单个字符的场景,但是不建议在生产环境中使用该函数。
int getch(void);
返回值:获取到的字符的ASCII码。
示例代码:
#include <stdio.h>
#include <conio.h>
int main()
{
char c;
printf("请输入一个字符:");
c = getch();
printf("\n您输入的字符是:%c\n", c);
return 0;
}
该程序会等待用户在键盘上输入一个字符,然后将获取到的字符输出到屏幕上。
getche()
和 getch()
的功能基本相同,但它会将用户输入的字符回显到屏幕上。
int getche(void);
返回值:获取到的字符的ASCII码。
示例代码:
#include <stdio.h>
#include <conio.h>
int main()
{
char c;
printf("请输入一个字符:");
c = getche();
printf("\n您输入的字符是:%c\n", c);
return 0;
}
该程序会等待用户在键盘上输入一个字符,然后将获取到的字符输出到屏幕上,并在输入的字符后面加一个换行符。