[英]Clearing output of a terminal program in Linux C
我想清除用 printf 语句生成的 C 程序的输出。 我只想清除一行,例如:
[来源]
printf("AAAAAAAAAAAAAA\n");
printf("BBBBBBBBBBBBBB\n");
printf("CCCCCCCCCCCCCC\n");
printf("DDDDDDDDDDDDDD\n");
[终端]
AAAAAAAAAAAAAA
BBBBBBBBBBBBBB
CCCCCCCCCCCCCC
DDDDDDDDDDDDDD
[我希望]
AAAAAAAAAAAAAA
BBBBBBBBBBBBBB
CCCCCCCCCCCCCC
我将在“DDDDDDDDDDDDDD”行中写入其他字符串。 我只想把上面的 A、B、C 句留下。 只清除D句改变其他句,无条件输出D句。
我该怎么做呢?
有几种方法可以删除 DDDDDDDDDDDDDD
printf("\b");
printf("\r");
比如printf("\\033[8;5Hhello"); // Move to (8, 5) and output hello
printf("\\033[8;5Hhello"); // Move to (8, 5) and output hello
其他命令:
printf("\033[XA"); // Move up X lines;
printf("\033[XB"); // Move down X lines;
printf("\033[XC"); // Move right X column;
printf("\033[XD"); // Move left X column;
printf("\033[2J"); // Clear screen
...
这是在终端中控制确切布局和格式的最佳方法
如果您使用的是 X-Term 兼容软件(包括 Gnome 终端),请打印以下内容
printf("\033[2J");
或者
cout << "\033[2J";
其中\\033
是ASCII 中的转义字符, [2J
是特定操作(清除)。
我试着回答这里最好的预期。
printf("AAAAAAAAAAAAAA");
printf("BBBBBBBBBBBBBB");
printf("CCCCCCCCCCCCCC");
//printf("DDDDDDDDDDDDDD");
如果您不想在终端中显示,请注释最后一行或删除。 printf("xxxx") 是用于在终端打印输出的语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.