循环更新Linux终端屏幕

时间:2013-11-30 07:35:13

标签: c++ linux terminal

我在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);
 }

如何在每个循环步骤中更新终端输出屏幕?

谢谢。

1 个答案:

答案 0 :(得分:3)

要确保输出实际上已刷新到屏幕上,您需要调用flush:

for(int i=0;i<=5;i++)
 {
  cout<<i;
  cout.flush();
  pause(1);
 }