这个问题在这里已经有了答案:
What does printf("\033c" ) mean?
(3 个回答)
2年前关闭。
我在一些随机网站中浏览了以下奇怪的字符序列。当编译和执行时,这个 Sequence 清除了终端中所有以前的内容。它是清除输出流中的缓冲区还是只清除 tty 缓冲区?
int main()
{
printf("\033[H\033[J");
return 0;
}
最佳答案
这些是 ANSI escape codes .\033
代表 ESC
(ANSI 值 27)。
ESC [ 是一种 escape sequence叫 Control Sequence Introducer (CSI) .
CSI 命令以 ESC[
开头后跟零个或多个参数。\033[H
(即, ESC[H
)和 \033[J
是 CSI 代码。\033[H
将光标移动到屏幕的左上角(即屏幕第一行的第一列)。
和\033[J
清除从光标到屏幕末尾的屏幕部分。
当组合使用时,它会导致屏幕被清除,光标位于屏幕的开头。
这是使用 Ctrl+L 或 clear
时获得的功能bash 命令。
这些 CSI 也可以有参数。如果没有提供,它将使用默认值。
关于c - 这个字符序列 "\033[H\033[J"在 C 中做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55672661/