为了给printf着色方便, 我们可以定义一些宏:

  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. #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. #include <stdio.h>
  2. #define NONE          "/033[m"
  3. #define RED           "/033[0;32;31m"
  4. #define LIGHT_RED     "/033[1;31m"
  5. #define GREEN         "/033[0;32;32m"
  6. #define LIGHT_GREEN   "/033[1;32m"
  7. #define BLUE          "/033[0;32;34m"
  8. #define LIGHT_BLUE    "/033[1;34m"
  9. #define DARY_GRAY     "/033[1;30m"
  10. #define CYAN          "/033[0;36m"
  11. #define LIGHT_CYAN    "/033[1;36m"
  12. #define PURPLE        "/033[0;35m"
  13. #define LIGHT_PURPLE "/033[1;35m"
  14. #define BROWN         "/033[0;33m"
  15. #define YELLOW        "/033[1;33m"
  16. #define LIGHT_GRAY    "/033[0;37m"
  17. #define WHITE         "/033[1;37m"
  18. int  main()
  19. {
  20. printf("/033[1m/033[40;34mhello,world/033[0m/n" );
  21. printf(RED"RED FONT" BLUE "%s/n" NONE, "BLUE FONT" );
  22. return  0;
  23. }
  1. #include <stdio.h>
  2. #define NONE          "/033[m"
  3. #define RED           "/033[0;32;31m"
  4. #define LIGHT_RED     "/033[1;31m"
  5. #define GREEN         "/033[0;32;32m"
  6. #define LIGHT_GREEN   "/033[1;32m"
  7. #define BLUE          "/033[0;32;34m"
  8. #define LIGHT_BLUE    "/033[1;34m"
  9. #define DARY_GRAY     "/033[1;30m"
  10. #define CYAN          "/033[0;36m"
  11. #define LIGHT_CYAN    "/033[1;36m"
  12. #define PURPLE        "/033[0;35m"
  13. #define LIGHT_PURPLE "/033[1;35m"
  14. #define BROWN         "/033[0;33m"
  15. #define YELLOW        "/033[1;33m"
  16. #define LIGHT_GRAY    "/033[0;37m"
  17. #define WHITE         "/033[1;37m"
  18. int main()
  19. {
  20. printf("/033[1m/033[40;34mhello,world/033[0m/n");
  21. printf(RED"RED FONT"BLUE"%s/n"NONE,"BLUE FONT");
  22. return 0;
  23. }

  其中:

     /033[1m 设置高亮度
     /033[字背景颜色;字体颜色m字符串/033[0m

附录:vt100的控制符文档

vt100可以实现终端上显示颜色,或者移动光标什么的,下面是网上流传的文档。

=============颜色控制====================
格式: echo "33[字背景颜色;字体颜色m字符串33[0m"

例如:
echo "33[41;36m something here 33[0m"

其中41的位置代表底色, 36的位置是代表字的颜色

那些ascii code 是对颜色调用的始末.
33[ ; m …… 33[0m

字背景颜色范围:40----49
40:黑
41:深红
42:绿
43:黄色
44:蓝色
45:紫色
46:深绿
47:白色

字颜色:30-----------39
30:黑
31:红
32:绿
33:黄
34:蓝色
35:紫色
36:深绿
37:白色

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

printf 字体颜色打印的更多相关文章

  1. zend studio 9.0.4 破解、汉化和字体颜色及快捷键相关设置

    转载:http://www.penglig.com/post-45.html 下载:http://www.geekso.com/component/zendstudio-downloads/ 破解:h ...

  2. [转载]Linux下终端字体颜色设置方法

    原文地址:Linux下终端字体颜色设置方法作者:router 网上类似的文章有很多,但是都是转来转去的,没有经过测试,按照很多文章的方法会造成你设置之后的终端在换行和删除输入字符时终端显示会乱七八糟, ...

  3. zend studio 破解、汉化和字体颜色及快捷键相关设置

    下载:http://www.geekso.com/component/zendstudio-downloads/ 破解:http://www.geekso.com/ZendStudio9-key/ 注 ...

  4. linux下 C编程改变输出字体颜色

    格式: echo "\033[字背景颜色;字体颜色m字符串\033[0m"例如:echo "\033[41;36m something here \033[0m" ...

  5. shell输出颜色、printf输出颜色

    1.echo开启彩色输出: -e 开启echo中的转义: \e或者\033来输出Esc颜色: 恢复默认颜色为:\e[0m; 命令格式: echo -e "\e[字背景颜色:文字颜色m字符串\ ...

  6. linux终端c语言改变输出字体颜色

    Linux下C改变输出字体颜色 例: #include int main() { printf("\033[31mThis is RED.\n\033[0m"); return 0 ...

  7. Android SearchView 自定义SearchIcon和字体颜色大小

    自定义SearchView的搜索图标和字体属性相对复杂一些,记下来. 一.自定义SearchIcon 1.API版本低于21:版本小于21时,要修改SearchIcon比较复杂,需要先获取到Searc ...

  8. Mardown字体颜色、背景色

    Markdown字体颜色.背景色 字体颜色表 Markdwon测试 **粗体文字**,或__加文字__ 加粗 Markdown测试 *斜体文字*, 或_斜体_ 斜体 Markdwon测试 列表: 背景 ...

  9. iOS 设置不同的字体颜色

    //设置不同字体颜色 -(void)fuwenbenLabel:(UILabel *)labell FontNumber:(UIFont *)font AndRange:(NSRange)range ...

随机推荐

  1. 搭建nginx流媒体服务器(支持HLS)

    环境搭建 (一)下载源代码 nginx,地址:http://nginx.org/可以选择需要的版本下载 nginx_mod_h264_streaming-2.2.7.tar.gz ,支持MP4流,具体 ...

  2. ant design pro (十)advanced 图表

    一.概述 原文地址:https://pro.ant.design/docs/graph-cn Ant Design Pro 提供了由设计师精心设计抽象的图表类型,是在 BizCharts 图表库基础上 ...

  3. error: command 'gcc' failed with exit status 1 while installing eventlet

    Ubuntu安装Python包出错解决办法 : sudo apt-get install python-dev sudo apt-get install libevent-dev

  4. excel 如何为列添加指定内容(字符串)

      excel 如何为列添加指定内容(字符串) CreateTime--2018年5月26日17:52:32 Author:Marydon 1.情景展示 D列的值需要获取B列的值并且在后面统一加上12 ...

  5. 〖Linux〗Bash快捷键使用

    这篇 Bash Shell Shortcuts 的快捷键总结的非常好.值得学习.下面内容大多数是拷贝粘贴与总结. CTRL 键相关的快捷键: Ctrl + a - Jump to the start ...

  6. 系统学习NIO

    概述 适用于有一定编程基础的朋友,想系统学习NIO这块知识的朋友.知识点大体分3块:1:>概念了解(各类IO) 2>NIO的核心(缓存区,通道等) 3>网络IO 详细 代码下载:ht ...

  7. MySQL-EXPLAIN用法详解

    今天做一个订单任务, 其中需要查有无此订单号信息, 由于订单号是个列表, 所以想检测下如下语句的性能(主要在LIMIT 1上) "订单号 IN (订单号列表)" LIMIT 1 然 ...

  8. 使用rman备份异机恢复数据库

    一.RMAN备份源库注意点: 最好保留rman备份日志 $rman target / log=backup.log RMAN>run { allocate channel t1 type dis ...

  9. C与C++中非常少犯的错误,犯了后却非常难找出的错误

    1.continue,break类的错误(HDU1877): #include<iostream> using namespace std; int main() { int a,b,m, ...

  10. 【服务器防护】centos iptables 防火墙设置 mac过滤

    1.阻止MAC地址为XX:XX:XX:XX:XX:XX主机的所有通信: iptables -A INPUT -s 192.168.1.21 -m mac --mac-source XX:XX:XX:X ...