【问题标题】:sleep statement not working properly in C++sleep 语句在 C++ 中无法正常工作
【发布时间】:2016-03-11 03:36:46
【问题描述】:

我一直在使用这样的睡眠语句:sleep(2);有一段时间,但现在它突然不能正常工作了。每当我运行此代码(示例)时:

#include <iostream>
using namespace std;

int main()  {
    cout << "Hi";
    sleep(2);
    cout << "Hello";
}

它不是先说“Hi”,然后等待两秒钟,然后说“Hello”,而是先等待两秒钟,然后显示“Hi”和“Hello”。我有我之前编写的其他代码,它们没有问题,但是一旦我创建一个新的目标 && 文件并尝试编写一些包含 sleep 语句的代码,它就会再次执行相同的操作,: (。 请帮我解决这个问题,谢谢!

【问题讨论】:

    标签: c++ sleep iostream cout


    【解决方案1】:

    尝试刷新缓冲区。

    #include <iostream>
    using namespace std;
    
    int main()  {
        cout << "Hi";
        cout << flush; // add this line
        sleep(2);
        cout << "Hello";
    }
    

    【讨论】:

      【解决方案2】:

      根据std参考,你应该使用:

      std::this_thread::sleep_for(2s);
      

      当然,如果您使用的是多线程环境,这是最好的做法。

      【讨论】:

        猜你喜欢
        • 2019-07-23
        • 2016-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-01
        • 2019-05-15
        • 2015-09-27
        相关资源
        最近更新 更多