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