当没有按下键时,_khbit()返回true?

时间:2012-10-30 02:43:53

标签: c++ visual-studio-2010

我有一段代码:

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

用于测试目的,以使_kbhit()部分正常工作

程序使用GetAsyncKeyState()获取箭头键输入,如果按下Shift键,则运行此部分代码。

如果我按下任何箭头键,然后按shift键调用这部分代码,那么_kbhit会按预期评估为假。

问题在于,如果我按下箭头键然后按shift键调用这部分代码,即使自调用此部分代码后没有按下任何键,也会输出“keypressed”。

kbhit是否以某种方式拾取了之前的箭头键击?我需要清除输入缓冲区吗?

0 个答案:

没有答案