我在Windows中编写了以下简单代码,并且在循环的每个步骤中通常在CMD中打印:
for(int i=0;i<=5;i++)
{
cout<<i;
Sleep(1000);
}
但Linux中的这段代码在循环的每一步都没有打印点,它在打印所有点后等待5秒:
for(int i=0;i<=5;i++)
{
cout<<i;
pause(1);
}
如何在每个循环步骤中更新终端输出屏幕?
谢谢。
答案 0 :(得分:3)
要确保输出实际上已刷新到屏幕上,您需要调用flush:
for(int i=0;i<=5;i++)
{
cout<<i;
cout.flush();
pause(1);
}