循环更新 Linux 的终端屏幕

Update Linux's terminal screen in loop

本文关键字:终端 屏幕 Linux 更新 循环      更新时间:2023-10-16

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

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

谢谢。

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

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