0

私はそのようなコードのセクションを持っています:

while (true) {
    if(_kbhit()) {
        cout << "keypressed";
        exit(1);
        }

_kbhit()セクションを機能させるためのテスト目的

プログラムはGetAsyncKeyState()を使用して矢印キーを入力し、Shiftキーが押された場合、コードのこの部分を実行します。

Shiftキーを押してコードのこの部分を呼び出す前に矢印キーを押さない場合、_kbhitは期待どおりにfalseと評価されます。

問題は、Shiftキーを押してコードのこの部分を呼び出す前に矢印キーを押すと、コードのこの部分を呼び出してからキーが押されていなくても、「keypressed」が出力されることです。

kbhitはどういうわけか前の矢印キーストロークを拾っていますか?入力バッファなどをクリアする必要がありますか?

4

0 に答える 0