В Unix (включая Linux и Mac) есть встроенные программы командной строки с именами more и less , которые выполняют именно то, что вы описываете.more
- это программа, которая просто ждет, пока пользователь нажмет клавишу ввода или пробел, прежде чем отобразить следующую страницу вывода.less
немного улучшен тем, что позволяет клавишам редактора vi (таким как j и k) прокручивать вверх и вниз в выводе.
more
также доступно в командной строке Windows.Возможно, вам даже удастся найти версию less
для Windows .
c:\users\selbie> your_program.exe | more
$> ./your_program | less
Что касается того, как сделать это программно, это немного сложнее, так как это потребуетизмерение ширины консоли и реализация собственных буферов прокруткиМогут быть библиотеки с открытым исходным кодом, которые предоставляют эту функциональность, но консольная среда уже имеет решение для приложений, которые выдают длинный вывод.