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

48 lines
1.5 KiB
Markdown
Raw Normal View 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");