printf 改变输出颜色
2013-07-24 11:26
183 查看
在调试程序时,有时候要输出大量数据,如果让printf/fprintf改变输出数据的颜色,那观察数据就方便多了。
终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
转义序列是以 ESC 开头,可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表示就是 27, = 用八进制表示的 33)。
\033[显示方式;前景色;背景色m
显示方式:0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
前景色:30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)
背景色:40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)
\033[0m 默认
\033[1;32;40m 绿色
\033[1;31;40m 红色
printf( "\033[1;31;40m 输出红色字符 \033[0m" )
在调试程序时,有时候要输出大量数据,如果颜色都一样的话,辨别起来就很恼火,
如果让printf/fprintf改变输出数据的颜色,那观察数据就方便多了。
示例代码:
#include <stdio.h>
#define NONE "\033[m"
#define RED "\033[0;32;31m"
#define LIGHT_RED "\033[1;31m"
#define GREEN "\033[0;32;32m"
#define LIGHT_GREEN "\033[1;32m"
#define BLUE "\033[0;32;34m"
#define LIGHT_BLUE "\033[1;34m"
#define DARY_GRAY "\033[1;30m"
#define CYAN "\033[0;36m"
#define LIGHT_CYAN "\033[1;36m"
#define PURPLE "\033[0;35m"
#define LIGHT_PURPLE "\033[1;35m"
#define BROWN "\033[0;33m"
#define YELLOW "\033[1;33m"
#define LIGHT_GRAY "\033[0;37m"
#define WHITE "\033[1;37m"
int main()
{
printf( CYAN "current function is %s " GREEN " file line is %d\n" NONE,
__FUNCTION__, __LINE__ );
fprintf(stderr, RED "current function is %s " BLUE " file line is %d\n" NONE,
__FUNCTION__, __LINE__ );
return 0;
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dedodong/archive/2007/07/02/1675528.aspx
终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
转义序列是以 ESC 开头,可以用 \033 完成相同的工作(ESC 的 ASCII 码用十进制表示就是 27, = 用八进制表示的 33)。
\033[显示方式;前景色;背景色m
显示方式:0(默认值)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
前景色:30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋红)、36(青色)、37(白色)
背景色:40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋红)、46(青色)、47(白色)
\033[0m 默认
\033[1;32;40m 绿色
\033[1;31;40m 红色
printf( "\033[1;31;40m 输出红色字符 \033[0m" )
在调试程序时,有时候要输出大量数据,如果颜色都一样的话,辨别起来就很恼火,
如果让printf/fprintf改变输出数据的颜色,那观察数据就方便多了。
示例代码:
#include <stdio.h>
#define NONE "\033[m"
#define RED "\033[0;32;31m"
#define LIGHT_RED "\033[1;31m"
#define GREEN "\033[0;32;32m"
#define LIGHT_GREEN "\033[1;32m"
#define BLUE "\033[0;32;34m"
#define LIGHT_BLUE "\033[1;34m"
#define DARY_GRAY "\033[1;30m"
#define CYAN "\033[0;36m"
#define LIGHT_CYAN "\033[1;36m"
#define PURPLE "\033[0;35m"
#define LIGHT_PURPLE "\033[1;35m"
#define BROWN "\033[0;33m"
#define YELLOW "\033[1;33m"
#define LIGHT_GRAY "\033[0;37m"
#define WHITE "\033[1;37m"
int main()
{
printf( CYAN "current function is %s " GREEN " file line is %d\n" NONE,
__FUNCTION__, __LINE__ );
fprintf(stderr, RED "current function is %s " BLUE " file line is %d\n" NONE,
__FUNCTION__, __LINE__ );
return 0;
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dedodong/archive/2007/07/02/1675528.aspx
相关文章推荐
- printf 改变输出颜色
- printf在终端输出时改变颜色
- 改变printf输出文字的颜色
- printf在终端输出时改变颜色
- 改变printf输出文字的颜色
- printf在终端输出时改变颜色
- printf在终端输出时改变颜色
- printf在终端输出时改变颜色(只适用于Linux下的编程)
- 改变printf输出文字的颜色
- printf在终端输出时改变颜色
- 改变控制台输出颜色
- Linux:C应用程序终端输出字体颜色的改变
- 调试技巧:让printf在终端输出带颜色的文本
- Linux下 printf 输出字符串的颜色
- 设定printf在终端输出字体的颜色
- 通过printf设置Linux终端输出的颜色和显示方式
- 改变fedora23 konsole的ls输出颜色
- Python3改变cmd(命令行)输出颜色
- linux printf设置颜色与输出控制,利用控制码,实现固定位置输出百分比进度
- linux上printf输出带颜色和高级格式控制(推荐)