Как стереть последнюю напечатанную в консоль строку на C, Linux
Необходимо для пагинации частями выдавать данные в консоль, нужно стереть "press any key" после того как нажата любая клавиша, пробовал разные спецсимволы и переносы кареток, ни чего не помогло, прошу помощи знатоков. Нужно что-то типо как в gdb пагинация со строкой ----more----.
#include <conio.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
int main() {
while (true) {
/* какие то полезные данные */
printf("********\n");
printf("********\n");
printf("********\n");
/* какие то полезные данные */
printf("press any key\n");
const int c = getch();
if (c == 'q') {
break;
}
}
return 0;
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Как вариант:
while (true) {
/* какие то полезные данные */
printf("********\n");
printf("********\n");
printf("********\n");
/* какие то полезные данные */
printf("press any key\r");
fflush(stdout);
const int c = getch();
if (c == 'q') {
break;
}
printf(" \r");
// Продолжение вывода на экран.
}