为了给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 显示光标

最新文章

  1. DatePicker 设置字体颜色
  2. python作用域和多继承
  3. CI框架源码阅读笔记2 一切的入口 index.php
  4. POJ3967Ideal Path[反向bfs 层次图]
  5. SSL/TLS协议工作流程
  6. SQLite Expert 删除表数据并重置自动增长列
  7. Docker 容器中“TERM environment variable not set.”问题解决
  8. Mac 使用SSH远程登录
  9. AMD平台下在Windows虚拟机中安装Mac10.8.6【Written By KillerLegend】
  10. UVaLive 7374 Racing Gems (DP,LIS)
  11. Linux编程环境介绍(2) -- shell(Bash) 介绍
  12. uva 11529 - Strange Tax Calculation(计数问题)
  13. struts2获取请求参数的三种方式及传递给JSP参数的方式
  14. canvas画时钟,重拾乐趣!
  15. Linux批量清理多个文件内容而不删除文件
  16. 【Git】自动化Maven项目构建脚本(一)
  17. 一.把传统服务做成dubbo分布式服务架构的步骤
  18. Django---forms表单使用(1)
  19. JS事件委托应用场景
  20. JVM调优命令-jinfo

热门文章

  1. android:ViewPager动画总结
  2. 算法笔记_039:杨辉三角形(Java)
  3. Mongodb数据导出工具mongoexport和导入工具mongoimport使用
  4. webservice调用的四种方式
  5. 火狐浏览器(firefox)中js要注意的问题
  6. C++中四种类型转换以及const_cast是否能改变常量的问题
  7. 构造矩阵解决这个问题 【nyoj299 Matrix Power Series】
  8. android对话框,checkBox,同一时候在同一个页面上保存数据
  9. SVN 安装后报不是内部或外部命令
  10. cocos2d-x发生undefined reference to `XX&#39;异常 一劳永逸解决办法