Консоль перезаписывается как верх - PullRequest
5 голосов
/ 18 января 2012

Хорошо, так что мне просто интересно, как консольные приложения, такие как top(1) для linux, перезаписывают несколько строк. Я хочу знать, как это сделать для C ++ или C. Я знаю, как перезаписать 1 строку, просто вставив \ r, но я хотел знать, как это сделать для нескольких строк, опять же, как в верхней части, или, если это возможно. 1002 *

Ответы [ 2 ]

3 голосов
/ 18 января 2012

Они используют escape-последовательности терминала для перемещения курсора по экрану. Некоторые даже используют прямой доступ к кадровому буферу, чтобы рассматривать экран как массив символов, которые можно непосредственно проиндексировать.

Библиотека curses (или ncurses) - хороший уровень абстракции.

2 голосов
/ 18 января 2012

Это может напрямую не касаться вопроса, но такого рода вещи зависят от терминала и обычно выполняются с использованием curses ( ncurses является наиболее широко используемым).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...