printf特效 (2009-05-07 23:09)
分类:
c
给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