在C++中睡眠期间忽略键盘输入

Ignore Keyboard Input During Sleep in C++?

本文关键字:键盘 输入 C++      更新时间:2023-10-16

Python也有类似的问题。

在Python3中,如何在睡眠期间忽略用户输入?

我该如何在C++中做到这一点?我正在使用这个睡眠命令,并且希望继续使用它。

this_thread::sleep_for(chrono::seconds(4));

然而,它仍然会收集用户输入,这会导致用户错过他们跳过的重要文本。我该如何防止这种情况发生?

在键盘输入中使用进行输入

_getch();

这是一个控制台应用程序。

cout << "Wait 4 Seconds";
this_thread::sleep_for(chrono::seconds(4));
cout << "More text here!";
cout << "n Press any key to go on";
_getch();

答案编辑后最终代码如下所示:

cout << "Wait 4 Seconds";
this_thread::sleep_for(chrono::seconds(4));
while (_kbhit())
{_getch();}
cout << "More text here!";
cout << "n Press any key to go on";
_getch();

睡觉后,你可以。。。

while (kbhit())
    getch();

这将查看是否有输入在等待,如果有,则调用getch()以丢弃字符。冲洗并重复。

天知道MS是如何命名它们的函数的,但如果找不到kbhit(),请尝试<conio.h>中的_kbhit()