我刚学习c ++并且一直在玩sleep()函数,这是我的代码
#include<iostream>
#include<unistd.h>
using namespace std;
int main(){
cout << "...";
sleep(5)
cout << "\nLorem Ipsum"
}
而不是输出
...
而不是五秒钟之后
Lorem Ipsum
相反,我先得到五秒钟等待,然后一次打印
...
Lorem Ipsum
答案 0 :(得分:4)
您应flush()
cout
明确(或使用std::endl
)强制立即输出
int main() {
cout << "...";
cout.flush(); // Flush explicitly
sleep(5):
cout << "\nLorem Ipsum";
}
除非底层缓冲区已达到某个水印填充,或者std::cout
被调用(std::flush()
这样做是隐含的),否则不会将文本写入std::endl
。