printf打印的字符串显示不同颜色

前言:
        在嵌入式开发,服务器开发中,经常用到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 应该可以实现类似的功能。


-------------http://blog.chinaunix.net/uid-28458801-id-4581042.html


  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值