На большинстве всех терминалов вы можете напечатать возврат каретки ASCII '\ r' (значение 13 десятичное), чтобы вернуть курсор слева от текущей строки, что позволит вам перезаписать предыдущее значение.Или вы можете отправить пробелы ('\ b', ASCII 8), чтобы переместить один символ влево.Ни один из них не удалит автоматически отображаемый контент, но вы всегда можете перезаписать все, что вы больше не хотите видеть, в некоторых местах.В качестве альтернативы вы можете использовать управляющие коды, поддерживаемые вашей конкретной консолью (например, vt100, vt220 ...), которые, вероятно, будут иметь более продвинутые функции, такие как «до конца строки».Доступно множество библиотек для определения типа терминала и использования кодов, которые он поддерживает, или для синтеза сложных операций из множества более простых, где это необходимо: в Linux и UNIX библиотека ncurses является хорошим выбором.
C ++ не имеет понятия оконсольные окна.Открытие второго окна во многом зависит от используемой операционной системы и, возможно, от графической библиотеки, которую вы не указали.Однако в любой операционной системе ваше приложение может записывать некоторые сообщения в файл, а затем проверять этот файл из другого окна, которое вы открываете сами.В Linux / UNIX утилита "less" отлично подходит для проверки файлов журналов - помимо того, что она показывает вам содержимое в то время, когда вы запускаете less, вы можете попросить ее "следить" за новыми данными, когда они записываются в файл.