繁体   English   中英

为什么我的 cout 输出没有立即出现?

[英]Why does my cout output not appear immediately?

它不会打印放入循环中的字符串。 该程序是在 g++ 的帮助下编写的,包含 sys/types.h 头文件

for(int i=0;i<9;i++)
{
    cout<<"||";
    sleep(1);
}

你没有刷新你的输出。

std::cout << "||" << std::flush;

您可能在这里看到的是输出被缓冲的效果。 通常,在使用std::endl之前,实际上不会写入输出。

for(int i=0;i<9;i++)
{
    // Flushes and adds a newline
    cout<< "||" << endl;
    sleep(1);
}

在引擎盖下std::endl添加一个换行符,然后使用std::flush强制输出到控制台。 可以直接使用std::flush来达到同样的效果

for(int i=0;i<9;i++)
{
    cout << "||" << flush;
    sleep(1);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM