命令后界面输出颜色
嵌入式终端界面输出日志时,为了区分输出的有用信息、错误信息,可以给不同级别的输出加上不同的颜色,以方便查看。
下面是颜色的定义:
//颜色宏定义 #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"
使用方法
如下:
printf(YELLOW"this print msg is yellow!\n"NONE);
这样打印出来的字符串: “this print msg is yellow!” 就是黄色的。
颜色值放在打印内容开始的双引号前面,结束时再双引号后面加上NONE,用于结束颜色作用域.
完整测试代码
#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(RED"红色****************************\n"NONE); printf(LIGHT_RED"亮红色**************************\n"NONE); printf(GREEN"绿色****************************\n"NONE); printf(LIGHT_GREEN"亮绿色****************************\n"NONE); printf(BLUE"蓝色******************************\n"NONE); printf(LIGHT_BLUE"亮蓝色****************************\n"NONE); printf(DARY_GRAY"灰色******************************\n"NONE); printf(CYAN"青色*****************************\n"NONE); printf(LIGHT_CYAN"亮青色****************************\n"NONE); printf(PURPLE"紫色*****************************\n"NONE); printf(LIGHT_PURPLE"亮紫色****************************\n"NONE); printf(BROWN"棕色*****************************\n"NONE); printf(YELLOW"黄色****************************\n"NONE); printf(LIGHT_GRAY"亮灰色*****************************\n"NONE); printf(WHITE"白色****************************\n"NONE); return 0; }
运行结果