环境:linux,SecureCRT,Super-Terminal or ...
功能:给控制台的输出加点色彩,加点特效
试用范围:在debug,或者需要在控制台上输出明显标记或提示
格式定义:\033[ + 功能值 + 取字
一、颜色定义:
#define CTL_NONE "\033[m"
#define CTL_RED "\033[0;32;31m"
#define CTL_LIGHT_RED "\033[1;31m"
#define CTL_GREEN "\033[0;32;32m"
#define CTL_LIGHT_GREEN "\033[1;32m"
#define CTL_BLUE "\033[0;32;34m"
#define CTL_LIGHT_BLUE "\033[1;34m"
#define CTL_DARY_GRAY "\033[1;30m"
#define CTL_CYAN "\033[0;36m"
#define CTL_LIGHT_CYAN "\033[1;36m"
#define CTL_PURPLE "\033[0;35m"
#define CTL_LIGHT_PURPLE "\033[1;35m"
#define CTL_BROWN "\033[0;33m"
#define CTL_YELLOW "\033[1;33m"
#define CTL_LIGHT_GRAY "\033[0;37m"
#define CTL_WHITE "\033[1;37m"
特定颜色说明:
背景色(范围:30-39)
字体颜色(范围:40-49)
附表1:
===============================================================
背景色 前景色(字体颜色)
40: 黑 30: 黑
41: 红 31: 红
42: 绿 32: 绿
43: 黄 33: 黄
44: 蓝 34: 蓝
45: 紫 35: 紫
46: 深绿 36: 深绿
47: 白色 37: 白色
===============================================================
注意:打印完之后颜色恢复成NONE,不然再后面的打印都会跟着变色。
二、控制字
#define CTL_CLOSE_PRE \033[0m 关闭所有属性
#define CTL_HIGHT_LIGHT \033[1m 设置高亮度
#define CTL_UNDER_LINE \033[4m 下划线
#define CTL_GLITTER \033[5m 闪烁
#define CTL_REVERSE \033[7m 反显
#define CTL_UNHIDE \033[8m 消隐
#define CTL_FRONT \033[30m -- \033[37m 设置前景色
#define CTL_BACK \033[40m -- \033[47m 设置背景色
#define CTL_UP_N \033[nA 光标上移n行
#define CTL_DOWN_N \033[nB 光标下移n行
#define CTL_RIGHT_N \033[nC 光标右移n行
#define CTL_LEFT_N \033[nD 光标左移n行
#define CTL_PLACE \033[y;xH 设置光标位置
#define CTL_CLEAN \033[2J 清屏
#define CTL_CLEAN_LINE \033[K 清除从光标到行尾的内容
#define CTL_SAVE_POSITION \033[s 保存光标位置
#define CTL_RELOAD_POSICTION \033[u 恢复光标位置
#define CTL_HIDE \033[?25l 隐藏光标
#define CTL_SHOW \033[?25h 显示光标
三、例子
1)c语言中运用
printf( CTL_RED "func:%s:%d " CTL_GREEN " bug[9988] \n" NONE, __func__ , __LINE__ );
fprintf(stderr, CTL_RED "func:%s:%d " CTL_GREEN " bug[9988] \n" NONE, __func__ , __LINE__ );
2)控制台脚本中运用 (linux shell)
DEWARNING=\\033[033m
DEEND=\\033[0m
echo -e “$DEWARNING [Warning]:You are failed $DEEND”
阅读(2164) | 评论(0) | 转发(0) |