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

An *_*kit 5 c++

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

Aru*_*yan 0

这对你有帮助吗?

#include <iostream>
#include <unistd.h>
using namespace std;

int main()
{
    // Sleeping Mechanism
    for(auto i = 1; i <= 2; ++i)
    {
        cout << "Code pauses for 1 second\n";
        sleep(1); // Specify the number of seconds you want this block to sleep for
    }

    // Further code is executed once a particular key is pressed
    char ch;
    cin >> ch;
    while (ch != 'e')
    {
        cout << "Pressed " << ch << "\n";
        cin >> ch;
    }

    // Some code to be executed after pressing e only
    cout << "e pressed\n";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

您等待按下特定键的第二部分只是一种解决方法,对于您正在寻找的内容来说并不是一个很好的解决方案。

  • 我没有投反对票,但我怀疑这并没有达到OP的要求。我阅读问题的方式是,如果在执行睡眠时按下任何键,则应中止睡眠。 (3认同)
  • 不,我不知道如何使用这个答案作为基础来完成这一点。 (3认同)
  • 您所建议的内容不起作用,并且您尝试组合的工具无法协同工作。你有一个可行的想法,你可以睡眠微小的增量(但你不能用 `sleep` 来做到这一点。使用 `std::this_thread::sleep_for` 有点接近),然后轮询键盘以获取输入(但你可以'不要用 `cin` 来做到这一点,因为它总是阻塞)。 (2认同)