を使用して任意のキーを押して続行機能を実装しようとして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
を使用してから文字を読み取ることfgetc
です。