c++ - c++ - 如何在运行时在c++中停止程序3秒

标签 c++

我不知道如何在中间停止程序任何人都可以帮助我
我希望我的程序停止定义的秒
3 秒或 6 秒,如果您按任意键,它会立即开始运行。

最佳答案

正如评论部分所述,在 ISO C++ 中无法实现这一点。因此,您将不得不恢复到特定于平台的功能。
在 Microsoft Windows 上,您可以使用函数 WaitForSingleObject等待控制台输入并同时指定超时。一旦有新输入或超时到期,该函数将返回。您可以检查函数的返回值以确定发生了这些可能性中的哪一种。
在 Linux 上,您可以使用 select , poll epoll 通过等待 STDIN_FILENO 来完成同样的事情文件描述符。但是,默认情况下,该文件描述符仅在用户按下 ENTER 后才提供新数据以供读取。因此,您可能想要 disable canonical mode .另一种方法是使用 ncurses ,但我怀疑这个库是否能够提供在 select 中可用的文件描述符。 , pollepoll .但是,我不熟悉 ncurses。
编辑:有关使用 ncurses 的非常简单的解决方案,请参阅评论部分。

关于c++ - c++ - 如何在运行时在c++中停止程序3秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68987723/

相关文章:

c++ - fstream 对象的文件结尾

c++ - 如何在类中使用 WINAPI 函数(不是回调函数)?

android - Google Play 游戏服务和 64 位 x86 支持

c++ - 异常处理 C++

android - 如何将 "Chrome"(或等效项)作为线程而不是进程启动?

c++ - 正确继承std::string的方法是什么?

c++ - 根据最小和查找数组的元素

.net - 对 IID_ICorProfilerInfo 的引用失败

java - 每个蓝牙设备都有自己唯一的 MAC 地址吗?我们如何在应用程序中访问它?

c++ - 快速查找算法-并集运算-与集合论中的并集相同吗?