Chinaunix首页 | 论坛 | 博客
  • 博客访问: 386053
  • 博文数量: 61
  • 博客积分: 4650
  • 博客等级: 上校
  • 技术积分: 786
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-11 21:07
个人简介

少抱怨,多实干;

文章分类

全部博文(61)

文章存档

2017年(1)

2016年(13)

2015年(1)

2013年(2)

2011年(1)

2010年(3)

2009年(23)

2008年(17)

我的朋友

分类: 嵌入式

2013-12-02 09:58:32

环境: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”

阅读(2119) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~