1

を使用して任意のキーを押して続行機能を実装しようとしてkbhitいますが、たとえばa、ユーザーがキーを押した後、次にユーザーに値の入力を求めたときに入力バッファーに表示されます。入力バッファをクリアするにはどうすればよいですか?

任意のボタンを押して続行するための私のコードは以下のとおりです。

void
press_any_key(void)
{
  int b=0;
  while (b==0) 
  {
    b=kbhit();
  }         
}
4

1 に答える 1

0

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です。

于 2012-12-16T14:40:33.803 に答える