给printf的输出加上些特效比如颜色,可以让打印信息更鲜明,在debug的时候特别有用。
颜色:
1.#define NONE "\033[m" 2.#define RED "\033[0;32;31m" 3.#define LIGHT_RED "\033[1;31m" 4.#define GREEN "\033[0;32;32m" 5.#define LIGHT_GREEN "\033[1;32m" 6.#define BLUE "\033[0;32;34m" 7.#define LIGHT_BLUE "\033[1;34m" 8.#define DARY_GRAY "\033[1;30m" 9.#define CYAN "\033[0;36m" 10.#define LIGHT_CYAN "\033[1;36m" 11.#define PURPLE "\033[0;35m" 12.#define LIGHT_PURPLE "\033[1;35m" 13.#define BROWN "\033[0;33m" 14.#define YELLOW "\033[1;33m" 15.#define LIGHT_GRAY "\033[0;37m" 16.#define WHITE "\033[1;37m"比如:
1.printf("\033[31m ####----->> \033[32m" "hello\n" "\033[m");
颜色分为背景色和字体色,30~39用来设置字体色,40~49设置背景:
颜色分为背景色和字体色,30~39用来设置字体色,40~49设置背景:
背景色 字体色
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色
记得在打印完之后,把颜色恢复成NONE,不然再后面的打印都会跟着变色。
另外,还可以加一些ANSI控制码。加颜色只是以下控制码中的一种:
\033[0m 关闭所有属性
\033[1m 设置高亮度
\033[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m -- \033[37m 设置前景色
\033[40m -- \033[47m 设置背景色
\033[nA 光标上移n行
\033[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\033[?25h 显示光标
\033[1m 设置高亮度
\033[4m 下划线
\033[5m 闪烁
\033[7m 反显
\033[8m 消隐
\033[30m -- \033[37m 设置前景色
\033[40m -- \033[47m 设置背景色
\033[nA 光标上移n行
\033[nB 光标下移n行
\033[nC 光标右移n行
\033[nD 光标左移n行
\033[y;xH设置光标位置
\033[2J 清屏
\033[K 清除从光标到行尾的内容
\033[s 保存光标位置
\033[u 恢复光标位置
\033[?25l 隐藏光标
\033[?25h 显示光标
- //==============color==================
- /*
- * 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,
- * 和具体的语言无关。
- * 转义序列是以 ESC 开头,可以用 \033 完成相同的工作
- * (ESC 的 ASCII 码用十进制表示就是 27, = 用八进制表示的 33)
- * \033[显示方式;前景色;背景色m
- */
- #define COLOR_NONE "\033[m"
- #define COLOR_RED "\033[0;32;31m"
- #define COLOR_LIGHT_RED "\033[1;31m"
- #define COLOR_GREEN "\033[0;32;32m"
- #define COLOR_LIGHT_GREEN "\033[1;32m"
- #define COLOR_BLUE "\033[0;32;34m"
- #define COLOR_LIGHT_BLUE "\033[1;34m"
- #define COLOR_DARY_GRAY "\033[1;30m"
- #define COLOR_CYAN "\033[0;36m"
- #define COLOR_LIGHT_CYAN "\033[1;36m"
- #define COLOR_PURPLE "\033[0;35m"
- #define COLOR_LIGHT_PURPLE "\033[1;35m"
- #define COLOR_BROWN "\033[0;33m"
- #define COLOR_YELLOW "\033[1;33m"
- #define COLOR_LIGHT_GRAY "\033[0;37m"
- #define COLOR_WHITE "\033[1;37m"
- //end color