NotePublic/Software/Development/Standard/ANSI/ANSI_终端控制.md

1.5 KiB
Raw Blame History

ANSI 终端控制

在 ANSI 终端下 printf 等输出可以通过特殊代码对终端进行控制,包括改变显示颜色,如:

printgf(“\033[01;40;32m HELLO \033[0m”);

这里 33[ 是转义子列表示后面接的控制代码01 是高亮度不写是低亮度40 是背景色32m 是前景色。ANSI 终端通过不同码值区分控制功能ANSI控制码如下

含义 属性
关闭所有属性 \033[0m
设置高亮度 \033[1m
下划线 \033[4m
闪烁 \033[5m
反显 \033[7m
消隐 \033[8m
设置前景色 3037
设置背景色 4047
光标上移 n 行 \033[nA
光标下移 n 行 \033[nB
光标右移 n 列 \033[nC
光标左移 n 列 \033[nD
设置光标位置 \033[y;xH
清屏 \033[2J
清除从光标到行尾的内容 \033[K
保存光标位置 \033[s
恢复光标位置 \033[u
隐藏光标 \033[?25l
显示光标 \033[?25h

颜色码及含义如下:

颜色 背景色代码 前景色代码
Black 40 30
Red 41 31
Green 42 32
Yellow 43 33
Blue 44 34
Purple 45 35
Cyan 46 36
White 47 37

其他示例如下:

printf("\033[0;32mPASSED\033[0;0m\n");
printf("\033[0;31mFAILED\033[0;0m\n");