[英]Why does a cout statement at the beginning of my program not output anything?
[英]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.