c ++ перепечатывать текст в терминале с возвратом каретки - PullRequest
0 голосов
/ 24 мая 2018

Я хотел бы напечатать обновленный номер в терминале Linux, но ничего подобного

picture 1
picture 2
picture 3 
picture [...]

Я уже знаю, как это сделать с кодом C

printf("\rpicture %d", i);
fflush(stdout);

, где i это номер моей фотографии

Мой вопрос: можно ли сделать это с std::cout или с чем-то еще простым, вместо printf?

РЕДАКТИРОВАТЬ:

Использование std::cout << "\rPicture " << i << "done"; было не так хорошо, как printf, потому что я не видел прокрутку всех номеров в терминале

Picture 74 done

Picture 150 done
FPS          : 7.89474
picture number   : 150

PS: мы здесь не для того, чтобы критиковать мой номер FPS, это мойпрограмма, которая вообще не оптимизируется

1 Ответ

0 голосов
/ 24 мая 2018

В C ++ это так же просто, как в C, и я не думал об этом в первый раз

В C:

printf("\rPicture : %d", i);
fflush(stdout);

В C ++:

std::cout << "\rPicture " << i << std::flush;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...