控制字符的通用格式如下:
Esc[{attr1};…;{attrn}m
其中:
Esc 是转义字符, 其值为"\033";
[ 是常量的左中括号;
{attr1};…{attrn} 是若干属性, 通常是由一个有特定意义的数字代替, 每个属性之间用分号分隔;
m 就是字面常量字符m;
部分颜色代码:
字背景颜色: 40–49 | 字颜色: 30–39 |
---|---|
40: 黑 | 30: 黑 |
41: 红 | 31: 红 |
42: 绿 | 32: 绿 |
43: 黄 | 33: 黄 |
44: 蓝 | 34: 蓝 |
45: 紫 | 35: 紫 |
46: 深绿 | 36: 深绿 |
47:白色 | 37:白色 |
通用格式: 0–8
0 重置所有属性 ,1 高亮/加粗,2 暗淡 ,4 下划线 ,5 闪烁 ,7 反转 ,8 隐藏
格式
printf("\033[字背景颜色;字体颜色m字符串\033[0m" );
printf("\033[47;31mThis is a color test.\033[0m");
47是字背景颜色, 31是字体的颜色, This is a color test.是字符串. \033[0m是控制码.
比如要输出的字体前景为红色:
printf("\033[31mThis text is red \033[0mThis text has default color\n");
如果同时还要加上黄色的背景:
printf("\033[31;43mThis text is red with yellow background \033[0mThis text has default color\n");