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

48 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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");