3.0 KiB
3.0 KiB
ANSI转义字符归纳表
在代码中检测是否支持ANSI C
#if __STDC__ == 1
1. 文本样式控制
转义码 | 效果 | 说明 |
---|---|---|
\033[0m |
重置所有样式 | 关闭所有颜色和特效 |
\033[1m |
加粗/高亮 | |
\033[2m |
暗淡(弱化) | 部分终端不支持 |
\033[3m |
斜体 | 部分终端不支持 |
\033[4m |
下划线 | |
\033[5m |
闪烁(慢) | 部分终端不支持 |
\033[7m |
反色(前景/背景互换) | |
\033[8m |
隐藏(不可见) | |
\033[9m |
删除线 | 部分终端不支持 |
2. 前景色(文本颜色)
转义码 | 颜色 | 转义码(亮色) |
---|---|---|
\033[30m |
黑色 | \033[90m |
\033[31m |
红色 | \033[91m |
\033[32m |
绿色 | \033[92m |
\033[33m |
黄色 | \033[93m |
\033[34m |
蓝色 | \033[94m |
\033[35m |
品红 | \033[95m |
\033[36m |
青色 | \033[96m |
\033[37m |
白色 | \033[97m |
3. 背景色
转义码 | 颜色 | 转义码(亮色) |
---|---|---|
\033[40m |
黑色 | \033[100m |
\033[41m |
红色 | \033[101m |
\033[42m |
绿色 | \033[102m |
\033[43m |
黄色 | \033[103m |
\033[44m |
蓝色 | \033[104m |
\033[45m |
品红 | \033[105m |
\033[46m |
青色 | \033[106m |
\033[47m |
白色 | \033[107m |
4. 光标控制
转义码 | 作用 |
---|---|
\033[<n>A |
光标上移 <n> 行 |
\033[<n>B |
光标下移 <n> 行 |
\033[<n>C |
光标右移 <n> 列 |
\033[<n>D |
光标左移 <n> 列 |
\033[<y>;<x>H |
光标移动到第 <y> 行、第 <x> 列 |
\033[2J |
清屏(整个屏幕) |
\033[K |
清除从光标到行尾的内容 |
\033[2K |
清除全行的内容 |
\033[s |
保存光标位置 |
\033[u |
恢复光标位置 |
5. RGB 颜色(部分终端支持)
如果终端支持 24-bit 真彩色,可以使用:
printf("\033[38;2;<r>;<g>;<b>m"); // 设置前景色(RGB)
printf("\033[48;2;<r>;<g>;<b>m"); // 设置背景色(RGB)
示例:
printf("\033[38;2;255;100;0m这是橙红色文字\033[0m\n");