在编写2048小游戏时,遇到了“每次输入都需要按回车键的问题”,于是,我总结了一下不用按回车键就可读取输入的方法。
1、在windows下的编译器,如果支持conio.h的话,可以使用_getch()函数。
#include <stdio.h>
#include <conio.h>
int main()
{
char ch;
ch = _getch();
if (ch == 'a')
printf("OK\n");
return 0;
}
2、在linux下的编译器不支持_getch()函数,我们可使用系统命令关闭缓存区,这样就不需要按回车键就可直接读取了。
#include <stdio.h>
int main()
{
char ch;
system("stty -icanon");//关闭缓冲区,输入字符无需按回车键直接接受
ch = getchar();
if (ch == 'a')
printf("OK\n");
return 0;
}