ANSI控制码
ANSI/3.64控制码标准:
ANSI控制码均以 Esc[ 作为控制码的开始标志,其中,Esc 的ansi码为 27-十进制,33-八进制,所以在c中,可以使用 \033 表示。
具体如下:
\33[0m 关闭所有属性
\33[1m 设置高亮度
\33[4m 下划线
\33[5m 闪烁
\33[7m 反显
\33[8m 消隐
\33[30m -- \33[37m 设置前景色
\33[40m -- \33[47m 设置背景色
\33[nA 光标上移n行
\33[nB 光标下移n行
\33[nC 光标右移n行
\33[nD 光标左移n行
\33[y;xH设置光标位置(现已很少使用)
\33[2J 清屏
\33[K 清除从光标到行尾的内容
\33[s 保存光标位置
\33[u 恢复光标位置
\33[?25l 隐藏光标
\33[?25h 显示光标
\33[30m到 \33[37m 设置前景色
\33[40m到 \33[47m 设置背景色
其中,0-7表示8种不同的颜色,具体如下:
Color Code
Black 0
Blue 1
Green 2
Cyan 3
Red 4
Purple 5
Brown 6
Write 7
其中,以m为标记的,是控制字符显示相关的设置,如果有多项设置,可以使用连续多个Esc[nm,也可以使用分号将两个数字接连起来。比如说,
背景色Cyan,前景色Purple,字符闪烁,输出 abc,可以使用:
cout<<"\033[43;35;5mabc\033[0m"<<endl ,也可以使用
cout<<"\033[43m\033[35m\033[5mabc\033[0m"<<endl;
举例
cout<<"\033[1m\33[7m"<<" abc "<<"\033[0m"<<endl;
将输出 abc,abc会反显