Очень простой способ сделать это - распечатать строку, за которой следует символ '\ r'.Это возврат каретки сам по себе, и на большинстве консолей он возвращает курсор в начало строки, не перемещаясь вниз.Это позволяет вам перезаписать текущую строку.
Если вы пишете в stdout или cout или clog, не забудьте fflush или std :: flush поток, чтобы он немедленно выводил строку.Если вы пишете в stderr или cerr, тогда поток небуферизован, и весь вывод является немедленным (и неэффективным).
Более сложный способ сделать это - использовать библиотеку экранных рисунков, таких как curses.