为了给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. QtGui.QColorDialog

    he QtGui.QColorDialog provides a dialog widget for selecting colour values. #!/usr/bin/python # -*- ...

  2. java防止sql注入

    public final static String filterSQLInjection(String s) { if (s == null || "".equals(s)) { ...

  3. Android开发之帐户管理

    android.accounts主要包括了集中式的帐户管理API, AccountManagerCallback, AccountManagerFuture, OnAccountsUpdateList ...

  4. 【laravel5.4】DB::table的操作

    基于laravel5.4版本的查询构造器的简单几个操作:(相对于TP3.2版本) //获取指定多行多列,二维,,对象 [select] $names = ''; $names = DB::table( ...

  5. 乱码字符引起的JSON转换失败

        这种问题有两个解决办法,使用后不管你是什么特殊字符还是什么西欧字体还是什么稀奇古怪的内容都可以完美解决!   1.要把即将转换为json的内容先转换为unicode编码,json转换无误后,使 ...

  6. 摘:C#压缩文件

    [[[[C#压缩文件]]]] 方法1: //[filepath想要压缩文件的地址] //[zippath输出压缩文件的地址] private void GetFileToZip(string file ...

  7. 摘:C++:用ADO操作数据库的方法步骤

      ADO接口简介 ADO库包含三个基本接口:_ConnectionPtr接口._CommandPtr接口和_RecordsetPtr接口. _ConnectionPtr接口返回一个记录集或一个空指针 ...

  8. 在文件夹右键菜单里添加“DOS 到这里”这个菜单项

    Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shell\cmd]@="DO ...

  9. SEH, SAFESEH相关

    SEH, SAFESEH相关 1,触发seh异常让目标程序Read/Write无效地址,如果和栈底相邻的内存只读,尝试覆盖超出栈底 2,如何找到(显示)要覆盖的SEHod语法:dd fs:[0]sof ...

  10. Windows下搭建HTK

    转自:http://blog.csdn.net/yanli0823/article/details/8186382 亲测有效,环境: windows 8.1 perl版本: HTK版本:Hidden ...