是否可以清除C中的多行,并保留其他行。
代码:
Displaysenrsordata
loop
printf("This info stays"); <-stay on screen
printf("This info stays"); <-stay on screen
printf("This info Refreshes"); <-update redraw
printf("This info Refreshes"); <-update redraw
printf("This info Refreshes"); <-update redraw
基本上我想让一些文字留在同一个地方并重新绘制更新数据而不清除整个屏幕。
答案 0 :(得分:3)
如果您正在使用Linux,请使用ncurses。
示例:
#include <stdio.h>
#include <ncurses.h>
int main (void)
{
int a = 0;
initscr ();
printw("This info stays \n");
printw("This info stays\n");
curs_set (0);
while (a < 100) {
mvprintw (3, 4, "%d", a++);
mvprintw (3, 8, "%d", a++);
mvprintw (3, 12, "%d", a++);
refresh ();
sleep (1);
}
endwin();
return 0;
}
答案 1 :(得分:3)
您可以通过打印\r
来覆盖当前行打印\b
或当前行的最后一个字符。
答案 2 :(得分:-3)
不,您无法仅清除控制台窗口的一部分。