Chinaunix首页 | 论坛 | 博客
  • 博客访问: 440637
  • 博文数量: 177
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-22 19:16
文章分类

全部博文(177)

文章存档

2017年(1)

2016年(12)

2015年(112)

2014年(52)

我的朋友

分类: 嵌入式

2015-05-18 10:47:50

前言:
        在嵌入式开发,服务器开发中,经常用到printf,在项目比较大,或者打印信息比较多时,可以通过打印的字符串的颜色的不同来凸显重要信息。

一,printf打印出不同颜色

    printf("\033[字背景颜色;字体颜色m字符串\033[0m" );


颜色代码:
QUOTE:
字背景颜色范围: 40--49                   字颜色: 30--39
                40: 黑                           30: 黑
                41: 红                           31: 红
                42: 绿                           32: 绿
                43: 黄                           33: 黄
                44: 蓝                           34: 蓝
                45: 紫                           35: 紫
                46: 深绿                         36: 深绿
                47: 白色                         37: 白色

ANSI控制码:
QUOTE:
  \033[0m   关闭所有属性  
  \033[1m   设置高亮度  
  \03[4m   下划线  
  \033[5m   闪烁  
  \033[7m   反显  
  \033[8m   消隐  
  \033[30m   --   \033[37m   设置前景色  
  \033[40m   --   \033[47m   设置背景色  
  \033[nA   光标上移n行  
  \03[nB   光标下移n行  
  \033[nC   光标右移n行  
  \033[nD   光标左移n行  
  \033[y;xH设置光标位置  
  \033[2J   清屏  
  \033[K   清除从光标到行尾的内容  
  \033[s   保存光标位置  
  \033[u   恢复光标位置  
  \033[?25l   隐藏光标  
  \33[?25h   显示光标

二,测试实例

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>


  4. #define    COLOR_NONE                    "\033[0m"
  5. #define     FONT_COLOR_RED             "\033[0;31m"
  6. #define    FONT_COLOR_BLUE            "\033[1;34m"

  7. #define    BACKGROUND_COLOR_RED        "\033[41m"    

  8. #define    BG_RED_FONT_YELLOW        "\033[41;33m"

  9. void    print_test(void)
  10. {
  11.     printf(FONT_COLOR_RED"hello world\n"COLOR_NONE);

  12.     printf(FONT_COLOR_BLUE"wo shi zhong guo ren\n"COLOR_NONE);

  13.     printf(BACKGROUND_COLOR_RED"jxj\n"COLOR_NONE);

  14.     printf(BG_RED_FONT_YELLOW"test %s color\n"COLOR_NONE,"printf");
  15. }

  16. int main(int argc,char *argv[])
  17. {
  18.     print_test();
  19.     
  20.     return 0;
  21. }

    测试结果
        

三,问题遗漏
    1,如何在文件中也实现这样的功能。
    猜想:使用 fprintf 应该可以实现类似的功能。


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