有人提出了类似的Python问题。
如何在Python 3睡眠期间忽略用户input?
我将如何在C ++中做到这一点? 我正在使用这个睡眠命令,并希望继续使用它。
this_thread::sleep_for(chrono::seconds(4));
但是,它仍然会收集用户input,导致用户错过跳过的重要文本。 我怎样才能防止这个?
我在Windows 10上使用VS 2015 Express。
如果你“-1”这个问题,请评论为什么。
编辑
input如键盘input使用:
_getch();
这是一个控制台应用程序。
希望有所帮助!
编辑
冲洗的问题是getch(); 在睡觉之后不会出现。 首先它睡觉,然后显示文本,然后它要求input。 但是,它仍然收集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()
。