我有这样一段代码:
while (true) {
if(_kbhit()) {
cout << "keypressed";
exit(1);
}
用于测试以使 _kbhit() 部分正常工作
该程序使用 GetAsyncKeyState() 获取箭头键输入,并在按下 Shift 键的情况下运行这部分代码。
如果我在按 shift 调用这部分代码之前不按任何箭头键,那么 _kbhit 会按预期计算为 false。
问题是这样的,如果我在按下 shift 调用这部分代码之前按下箭头键,即使在调用这部分代码后没有按下任何键,也会输出“keypressed”。
kbhit 是否以某种方式拾取先前的箭头键击?我需要清除输入缓冲区还是什么?