Обновите экран терминала Linux в цикле

0

Я написал следующий простой код в окнах и точках, которые обычно печатаются в 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);
 }

Как он может обновлять экран вывода терминала на каждом шаге цикла?

Благодарю.

Теги:
terminal

1 ответ

3
Лучший ответ

Чтобы гарантировать, что вывод действительно покраснел на экран, вам нужно вызвать flush:

for(int i=0;i<=5;i++)
 {
  cout<<i;
  cout.flush();
  pause(1);
 }
  • 2
    Правильно, и это тоже работает: cout<<i<<flush; , Это может быть более удобным, поскольку это однострочник.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню