在linux下,可以使用一些宏,加上自定义格式输出,让输出更易于调试:

排版出来可能有些乱,注意do{ }while(0);是在一行里就可以了。

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define DEBUG1( fmt,  arg  ... )  \
  4. do{printf("[DEBUG] " fmt ,  ##arg );  }while(0);
  5. #define DEBUG2( fmt,  arg  ... ) \
  6. do{printf("[%s: %s: line %d]" fmt ,\
  7. __FILE__, __FUNCTION__, __LINE__,  ##arg );  }while(0);
  8. #define PrintColor1( fmt,  arg  ... )   \
  9. do{printf("\033[30m""[%s: %s: line %d]" fmt"\033[0m" ,\
  10. __FILE__, __FUNCTION__, __LINE__,  ##arg );  }while(0);
  11. #define PrintColor2( fmt,  arg  ... )   \
  12. do{printf("\033[31m""[%s: %s: line %d]" fmt"\033[0m" ,\
  13. __FILE__, __FUNCTION__, __LINE__,  ##arg );  }while(0);
  14. #define PrintColor3( fmt,  arg  ... )   \
  15. do{printf("\033[32m""[%s: %s: line %d]" fmt"\033[0m" ,\
  16. __FILE__, __FUNCTION__, __LINE__,  ##arg );  }while(0);
  17. #define PrintColor4( fmt,  arg  ... )   \
  18. do{printf("\033[33m""[%s: %s: line %d]" fmt"\033[0m" ,\
  19. __FILE__, __FUNCTION__, __LINE__,  ##arg );  }while(0);
  20. #define PrintColor5( fmt,  arg  ... )   \
  21. do{printf("\033[34m""[%s: %s: line %d]" fmt"\033[0m" ,\
  22. __FILE__, __FUNCTION__, __LINE__,  ##arg );  }while(0);
  23. #define PrintColor6( fmt,  arg  ... )   \
  24. do{printf("\033[35m""[%s: %s: line %d]" fmt"\033[0m" ,\
  25. __FILE__, __FUNCTION__, __LINE__,  ##arg );  }while(0);
  26. #define PrintColor7( fmt,  arg  ... )    \
  27. do{printf("\033[36m""[%s: %s: line %d]" fmt"\033[0m" ,\
  28. __FILE__, __FUNCTION__, __LINE__,  ##arg );  }while(0);
  29. int main()
  30. {
  31. printf("I AM IN macro.c\n");
  32. DEBUG1("I AM IN macro.c\n");
  33. DEBUG2("I AM IN macro.c\n");
  34. PrintColor1("I AM IN macro.c\n");
  35. PrintColor2("I AM IN macro.c\n");
  36. PrintColor3("I AM IN macro.c\n");
  37. PrintColor4("I AM IN macro.c\n");
  38. PrintColor5("I AM IN macro.c\n");
  39. PrintColor6("I AM IN macro.c\n");
  40. PrintColor7("I AM IN macro.c\n");
  41. return 0;
  42. }

输出结果:

 
http://blog.csdn.net/xiangpingli/article/details/7914133

Linux彩色输出的更多相关文章

  1. linux打印彩色输出

    在终端生成彩色输出,我们可以使用转义序列来实现. 每种颜色都有对应的颜色码.比如:重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37 要打印彩色文 ...

  2. std::cout彩色输出

    Mac OS效果 Windows 效果 想写这个东西其实是因为最近要写个命令行的工具,但是有个问题是什么呢?就是传统的那个黑漆漆的窗口看起来很蛋疼.并且完全看不到重点,于是就想起 来这么一个东西.相对 ...

  3. SpringBoot之彩色输出

    spring.output.ansi.enabled NEVER:禁用ANSI-colored输出(默认项) DETECT:会检查终端是否支持ANSI,是的话就采用彩色输出(推荐项) ALWAYS:总 ...

  4. Linux seq_printf输出内容不完整的问题

    Linux seq_printf输出内容不完整的问题 写在前面的话:这是多年前在项目中遇到的问题,作为博客的开篇之作,有不足之处,请各位大侠斧正!谢谢! seq_file接口介绍 有许多种方法能够实现 ...

  5. Git设置彩色输出

    彩色输出 git config --global color.status auto git config --global color.diff auto git config --global c ...

  6. Linux下输出 excel文件

    Linux下输出 excel文件 今日提供给产品需求,需excel文件,故总结要点如下: 1.默认间隔是space_20 2.修改为TAB \t _09 awk '  BEGIN { OFS=&quo ...

  7. Linux命令输出头(标题)、输出结果排序技巧

    原文:http://blog.csdn.net/hongweigg/article/details/65446007 ----------------------------------------- ...

  8. 花里胡哨,如何在Linux终端输出带有颜色的字体,将带颜色的字体赋值给变量

    背景 ​ 在日常操作Linux的情况下,总会遇到一些需求,比如说,把输出的内容用不同颜色标注出来,以达到醒目.提示的目的,那么如何在Linux终端输出带有颜色的字体呢? Linux终端输出字符颜色 ​ ...

  9. 通过printf设置Linux终端输出的颜色和显示方式

    转载自:http://www.cnblogs.com/clover-toeic/p/4031618.html 在Linux终端下调试程序时,有时需要输出大量信息.若能控制字体的颜色和显示方式,可使输出 ...

随机推荐

  1. VC com 通信实例

    HANDLE hCom;//全局變量串口句柄 COMMTIMEOUTS TimeOuts; DCB dcb; 按鈕代碼() { hCom=CreateFile(L“COM1”,// 串口名稱 GENE ...

  2. Scala入门指南与建议

    最近在学习使用Scala语言做项目,感觉这门语言实在是太优美了!作为一个本科数学.研究生机器学习专业的混合人才(哈哈),这门语言真的是满足了普通计算机编程(告诉计算机怎么做)和函数式编程(告诉计算机做 ...

  3. yii2 安装过程中的问题及解决方法

    一.php版本要求5.4+,如果使用wamp组合包,建议更换 二.各种模块的支持,一般只要修改php.ini文件,去掉相应模块前的注释即可. 注意,Intl extension模块的支持需要将     ...

  4. Asp.net Mvc 中的模型绑定

    asp.net mvc中的模型绑定可以在提交http请求的时候,进行数据的映射. 1.没有模型绑定的时候 public ActionResult Example0() { ) { string id ...

  5. python----脚本文件的头部写法。

    #!/usr/bin/python #这里主要是为了指明python脚本解释器的路径. #!coding:utf-8#这个是为了告知python脚本文件解释器,此脚本的字符集. import sys ...

  6. python 学习day6(面向对象)

    博客部分内容转自:http://www.cnblogs.com/wupeiqi/p/4493506.html 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法 ...

  7. Hibernate的Criteria用法

    在hibernate的Session里面使用createCriteria可以创建一个Criteria实例帮助我们进行条件查询,不用自己串hql语句,很方便. 用法很简单,首先传Class实例创建Cri ...

  8. HttpContext.Cache和Application的区别

    原文:HttpContext.Cache和Application的区别 (转载)   应用程序级的Cache和Application用户会话级的Session application的缺点是在读取时最 ...

  9. C语言的本质(4)——浮点数的本质与运算

    C语言的本质(4)--浮点数的本质与运算 C语言规定了3种浮点数,float型.double型和long double型,其中float型占4个字节,double型占8个字节,longdouble型长 ...

  10. 杭电oj1326 Box of Bricks

    Tips:先求出平均数再分别计算各数与平均数的差相加,注意两个测试结果之间要空一行 #include<iostream> using namespace std; int main() { ...