Как работает вывод в команде top?
Каким образом команда top обновляет таблицу без очистки консоли?
Я пробовал обновлять через system("clear"), как показано в интернете, и через puts("[H[2J"), как показано в исходниках, но это далеко не то же самое.
Ответы (1 шт):
Автор решения: OneGuy
→ Ссылка
Спасибо джентльменам в комментариях. Они направили на верный путь.
Вот такое заклинание у меня вышло:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#define CONSOLE_BOTTOM_CLEAR "\e[0J"
int main(char argc, char *argv[])
{
int i = 0;
printf("\e[s"); //сохраняет позицию курсора
while(1) {
printf("%d", i);
++i;
puts(CONSOLE_BOTTOM_CLEAR); //чистит все, что внизу до дна
printf("\e[u"); //восстанавливает позицию курсора
sleep(2);
}
}
Однако это сделано своими руками. Как исходник работает для меня до сих пор загадка.