我正在尝试通过使用来实现按任意键继续功能kbhit
,但是,例如,在用户按下某个键后,a
下次我要求用户输入一个值时,它将出现在输入缓冲区中。你如何清除输入缓冲区?
我按下任何按钮继续的代码如下。
void
press_any_key(void)
{
int b=0;
while (b==0)
{
b=kbhit();
}
}
我正在尝试通过使用来实现按任意键继续功能kbhit
,但是,例如,在用户按下某个键后,a
下次我要求用户输入一个值时,它将出现在输入缓冲区中。你如何清除输入缓冲区?
我按下任何按钮继续的代码如下。
void
press_any_key(void)
{
int b=0;
while (b==0)
{
b=kbhit();
}
}
I'm trying to implement the press any key to continue function by using kbhit
将此语句视为需要等待用户键盘输入以继续执行程序,下面的代码完成了这项工作,
void press_any_key(void)
{
while(1)
{
if(kbhit())
ch = getch();
printf("You passed %c\n", ch);
}
}
注意:上面的代码片段不会尝试清除输入缓冲区。然而kbhit()
,这是非标准的,正确的方法是从stdin
is using读取字符fgetc
。