C++ 首先休眠于 "couts"

标签 c++ sleep

我刚刚学习 C++ 并一直在玩 sleep() 函数,这是我的代码

#include<iostream>
#include<unistd.h>
using namespace std;
int main(){
cout << "...";
sleep(5)
cout << "\nLorem Ipsum"
}

而不是输出

...

五秒后

Lorem Ipsum

相反,我先等待五秒,然后立即打印出来

...
Lorem Ipsum

最佳答案

您应该显式地flush() cout(或使用std::endl)强制立即输出

int main() {
    cout << "...";
    cout.flush(); // Flush explicitly
    sleep(5):
    cout << "\nLorem Ipsum";
}

文本不会写入std::cout,除非底层缓冲区已达到一定的水位线填充,或者调用std::flush() ( std::endl 隐式执行此操作)。

关于C++ 首先休眠于 "couts",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27994067/

相关文章:

c++ - 将两个 vector<double> 转换为 vector<complex<double>>

c++ - Android Studio 中外部剥离共享库的原生调试

c++ - 过度使用重新定义原始数据类型?

android - 如何在 sleep 模式下接收硬件按键事件?

c++ - 线程意外结束。 C++

c++ - cuda 中是否有模板化的数学函数?

c++ - 我如何从此代码中获取大量的递归调用?

c# - 如何等到 File.Exists?

c# - 在while循环中替代线程 sleep

c++ - 由于在 C++ 中使用异步 IO 而延迟我的程序而不休眠的替代方法?