我不知道如何在中间停止程序任何人都可以帮助我
我希望我的程序停止定义的秒
3 秒或 6 秒,如果您按任意键,它会立即开始运行。
最佳答案
正如评论部分所述,在 ISO C++ 中无法实现这一点。因此,您将不得不恢复到特定于平台的功能。
在 Microsoft Windows 上,您可以使用函数 WaitForSingleObject等待控制台输入并同时指定超时。一旦有新输入或超时到期,该函数将返回。您可以检查函数的返回值以确定发生了这些可能性中的哪一种。
在 Linux 上,您可以使用 select
, poll
或 epoll
通过等待 STDIN_FILENO
来完成同样的事情文件描述符。但是,默认情况下,该文件描述符仅在用户按下 ENTER 后才提供新数据以供读取。因此,您可能想要 disable canonical mode .另一种方法是使用 ncurses ,但我怀疑这个库是否能够提供在 select
中可用的文件描述符。 , poll
或 epoll
.但是,我不熟悉 ncurses。
编辑:有关使用 ncurses 的非常简单的解决方案,请参阅评论部分。
关于c++ - c++ - 如何在运行时在c++中停止程序3秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68987723/