C++;先睡比“先睡”;"; 我正在学习C++并一直在玩睡眠()函数,这是我的代码 #include<iostream> #include<unistd.h> using namespace std; int main(){ cout << "..."; sleep(5) cout << "\nLorem Ipsum" }

C++;先睡比“先睡”;"; 我正在学习C++并一直在玩睡眠()函数,这是我的代码 #include<iostream> #include<unistd.h> using namespace std; int main(){ cout << "..."; sleep(5) cout << "\nLorem Ipsum" },c++,sleep,C++,Sleep,五秒钟之后 Lorem Ipsum 相反,我先等五秒钟,然后马上打印出来 ... Lorem Ipsum 您应该显式地(或使用std::endl)强制立即输出flush() int main() { cout << "..."; cout.flush(); // Flush explicitly sleep(5): cout << "\nLorem Ipsum"; } intmain(){ coutcout很可能已缓冲。请使用cout

五秒钟之后

Lorem Ipsum
相反,我先等五秒钟,然后马上打印出来

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

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

cout
cout
很可能已缓冲。请使用
cout尝试仅显示编译的代码(因此请至少复制一次实际编译的粘贴代码)。您发布的这个片段显然没有。。大多数控制台都是行缓冲的,因此如果您将
\n
放在
..
位上,它可能也会像您期望的那样工作。:)谢谢您的回复。它解决了问题,我也对缓冲区进行了一点研究。@BenVoigt THX非常感谢您的改进,我不是母语人士,我已经一个复杂的键盘,大多数时候都是醉醺醺地打字;-)。@πάνταῥεῖ: 啊,有些人对这样的事情比其他人更具防御性。我会尽量记住继续,自愿对你的帖子做一些小的改进。@BenVoigt THX又做了很多。只要我足够清醒,我在遇到别人的帖子时也会这样做;-)。。。
int main() {
    cout << "...";
    cout.flush(); // Flush explicitly
    sleep(5):
    cout << "\nLorem Ipsum";
}