我只是在学习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

10-02 06:49
查看更多