带颜色打印
在windows终端
#include "stdio.h" #include "stdlib.h" #define u8 unsigned char /*********************************************************************************/ //字色 亮色 常用色(亮色;灰底) #define RED "\e[1;47;31m"//红 #define GREEN "\e[1;47;32m"//绿 #define BLUE "\e[1;47;34m"//蓝 #define YELLOW "\e[1;47;33m"//黄 #define CYAN "\e[1;47;36m"//青 #define PURPLE "\e[1;47;35m"//紫 #define BLACK "\e[1;47;30m"//黑 #define WHITE "\e[1;47;37m"//白 //字色 暗色 #define D_RED "\e[0;31m"//暗红 #define D_GREEN "\e[0;32m"// #define D_BLUE "\e[0;34m"// #define D_YELLOW "\e[0;33m"// #define D_CYAN "\e[0;36m"// #define D_PURPLE "\e[0;35m"// #define D_BLACK "\e[0;30m"// #define D_WHITE "\e[0;37m"//暗白(灰) //底色 #define BG_RED "\e[1;41m" #define BG_GREEN "\e[1;42m" #define BG_BLUE "\e[1;44m" #define BG_YELLOW "\e[1;43m" #define BG_CYAN "\e[1;46m" #define BG_PURPLE "\e[1;45m" #define BG_WHITE "\e[1;47m" #define BG_GREEN2 "\e[1;48m" //强调 #define END_ATTR "\e[0m" #define BOLD "\e[1m" // #define UNDERLINE "\e[4m" // #define BLINK "\e[5m" // #define REVERSE "\e[7m" // #define HIDE "\e[8m" // #define CLEAR "\e[2J" //清理 #define CLRLINE "\r\e[K" //卷曲 /*********************************************************************************/ // 颜色 字符串 强调 结束属性, 换行 #define printfr(x ,...) (printf(RED "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfg(x ,...) (printf(GREEN "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfb(x ,...) (printf(BLUE "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfy(x ,...) (printf(YELLOW "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfc(x ,...) (printf(CYAN "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfp(x ,...) (printf(PURPLE "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfbl(x ,...) (printf(BLACK "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfw(x ,...) (printf(WHITE "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) /*********************************************************************************/ int main(int argc, char const *argv[]) { #if 1//0 // printf("bg color 底色\n"); // for(u8 i=40;i<48;i++) // { // //font // printf("\e[%dm %d\e[0m不加粗\n",i,i); // printf("\e[1;%dm %d\e[0m 加粗\n",i,i); // } // printf("font color 字色\n"); // for(u8 i=30;i<38;i++) // { // //font // printf("\e[%dm███████████████████████████████████████████████████████████████████%d\e[0m不加粗\n",i,i); // printf("\e[1;%dm███████████████████████████████████████████████████████████████████%d\e[0m 加粗\n",i,i); // } printf("bg and font color 字色2\n"); for(u8 i=40;i<48;i++) { for(u8 j=30;j<38;j++) { //font printf("不加粗>>\e[%d;%dm>>11 \\e[%d;%d\\e[0m<<\e[0m",i,j,i,j); printf(" 加粗>>\e[1;%d;%dm>>22 \\e[%d;%d\\e[0m<<\e[0m",i,j,i,j); static u8 cnt0;cnt0++;cnt0%=2; if(!cnt0)printf("\n"); } } #else //////////////////////////////////////////////////////////////////////////////////////////////// printfr("printfr███████████████████████████████████████████████████████████████████\n"); printfg("printfg███████████████████████████████████████████████████████████████████\n"); printfb("printfb███████████████████████████████████████████████████████████████████\n"); printfy("printfy███████████████████████████████████████████████████████████████████\n"); printfc("printft███████████████████████████████████████████████████████████████████\n"); printfp("printfp███████████████████████████████████████████████████████████████████\n"); printfp("printfbl██████████████████████████████████████████████████████████████████\n"); printfp("printf2███████████████████████████████████████████████████████████████████\n"); //////////////////////////////////////////////////////////////////////////////////////////////// #endif // system("pause"); return 0; }
在Linux终端
Linux命令
//字体颜色无间隔方块 for i in {0..257};do echo -en "\e[38;5;${i}m████████████████████████████████████████████████████████████████████████${i}\e[0m\n";done;echo //字体颜色小间隔方块 for i in {0..257};do echo -en "\e[38;5;${i}m▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇${i}\e[0m\n";done;echo //背景颜色 for i in {39..48};do echo -en "\e[${i}m ${i}\e[0m\n";done;echo
//字体颜色
//背景颜色
在SCRT会话
启用打印颜色(勾选ANSI颜色)
打印到串口
///////////////////////////////////////////////////////////////////////////////////// //字色 #define RED "\e[1;31m"//红 #define GREEN "\e[1;32m"//绿 #define BLUE "\e[1;34m"//蓝 #define YELLOW "\e[1;33m"//黄 #define CYAN "\e[1;36m"//青 #define PURPLE "\e[1;35m"//紫 #define BLACK "\e[1;30m"//黑 #define WHITE "\e[1;37m"//白 #define D_RED "\e[0;31m"//暗红 #define D_GREEN "\e[0;32m"// #define D_BLUE "\e[0;34m"// #define D_YELLOW "\e[0;33m"// #define D_CYAN "\e[0;36m"// #define D_PURPLE "\e[0;35m"// #define D_BLACK "\e[0;30m"// #define D_WHITE "\e[0;37m"//暗白(灰) //底色 #define BG_RED "\e[1;41m" #define BG_GREEN "\e[1;42m" #define BG_BLUE "\e[1;44m" #define BG_YELLOW "\e[1;43m" #define BG_CYAN "\e[1;46m" #define BG_PURPLE "\e[1;45m" #define BG_WHITE "\e[1;47m" #define BG_GREEN2 "\e[1;48m" //强调 #define END_ATTR "\e[0m" #define BOLD "\e[1m" // #define UNDERLINE "\e[4m" // #define BLINK "\e[5m" // #define REVERSE "\e[7m" // #define HIDE "\e[8m" // #define CLEAR "\e[2J" //清理 #define CLRLINE "\r\e[K" //卷曲 //////////////////////////////////////////////////////////////////////////////////////////// // 颜色 字符串 强调 结束属性, 换行 #if 0// #define printfr(x ,...) (printf(RED "%s %d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) #define printfg(x ,...) (printf(GREEN "%s %d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) #define printfb(x ,...) (printf(BLUE "%s %d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) #define printfy(x ,...) (printf(YELLOW "%s %d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) #define printfc(x ,...) (printf(CYAN "%s %d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) #define printfp(x ,...) (printf(PURPLE "%s %d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) #define printfbl(x ,...) (printf(BLACK "%s %d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) #define printfw(x ,...) (printf(WHITE "%s %d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) #define printfg_bo(x ,...) (printf(GREEN "%s %d",__FUNCTION__,__LINE__),printf( x BOLD END_ATTR, ##__VA_ARGS__)) #define printfg_un(x ,...) (printf(GREEN "%s %d",__FUNCTION__,__LINE__),printf( x UNDERLINE END_ATTR, ##__VA_ARGS__)) #define printfg_bl(x ,...) (printf(GREEN "%s %d",__FUNCTION__,__LINE__),printf( x BLINK END_ATTR, ##__VA_ARGS__)) #define printfg_rv(x ,...) (printf(GREEN "%s %d",__FUNCTION__,__LINE__),printf( x REVERSE END_ATTR, ##__VA_ARGS__)) #else #define printfr(x ,...) (printf(RED "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfg(x ,...) (printf(GREEN "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfb(x ,...) (printf(BLUE "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfy(x ,...) (printf(YELLOW "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfc(x ,...) (printf(CYAN "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfp(x ,...) (printf(PURPLE "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfbl(x ,...) (printf(BLACK "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfw(x ,...) (printf(WHITE "[%s %d]:" x END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfg_bo(x ,...) (printf(GREEN "[%s %d]:" x BOLD END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfg_un(x ,...) (printf(GREEN "[%s %d]:" x UNDERLINE END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfg_bl(x ,...) (printf(GREEN "[%s %d]:" x BLINK END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #define printfg_rv(x ,...) (printf(GREEN "[%s %d]:" x REVERSE END_ATTR,__FUNCTION__,__LINE__,##__VA_ARGS__)) #endif // #define printfdr(x ,...) (printf(D_RED "%s%d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) // #define printfdg(x ,...) (printf(D_GREEN "%s%d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) // #define printfdb(x ,...) (printf(D_BLUE "%s%d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) // #define printfbr(x ,...) (printf(D_YELLOW "%s%d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) // #define printfdc(x ,...) (printf(D_CYAN "%s%d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) // #define printfdp(x ,...) (printf(D_PURPLE "%s%d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) // #define printfdbl(x ,...) (printf(D_BLACK "%s%d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) // #define printfdw(x ,...) (printf(D_WHITE "%s%d",__FUNCTION__,__LINE__),printf( x END_ATTR, ##__VA_ARGS__)) //*********************************************************************************// /* printfdr("printfr ////////////////////////////////////////////////////////////\n"); printfr ("printflr////////////////////////////////////////////////////////////\n"); printfdg("printfg ////////////////////////////////////////////////////////////\n"); printfg ("printflg////////////////////////////////////////////////////////////\n"); printfdb("printfb ////////////////////////////////////////////////////////////\n"); printfb ("printflb////////////////////////////////////////////////////////////\n"); printfbr("printfbr////////////////////////////////////////////////////////////\n"); printfy ("printfy ////////////////////////////////////////////////////////////\n"); printfdc("printft ////////////////////////////////////////////////////////////\n"); printfc ("printflt////////////////////////////////////////////////////////////\n"); printfdp("printfp ////////////////////////////////////////////////////////////\n"); printfp ("printflp////////////////////////////////////////////////////////////\n"); printfdbl("printflp////////////////////////////////////////////////////////////\n"); printfbl ("printflp////////////////////////////////////////////////////////////\n"); printfdw ("printflp////////////////////////////////////////////////////////////\n"); printfw ("printflp////////////////////////////////////////////////////////////\n"); printfy_bo("printfy_bo//////////////////////////////////////////////////////////\n"); printfy_un("printfy_un//////////////////////////////////////////////////////////\n"); printfy_bl("printfy_bl//////////////////////////////////////////////////////////\n"); printfy_rv("printfy_rv//////////////////////////////////////////////////////////\n"); printfy_hd("printfy_hd//////////////////////////////////////////////////////////\n"); printfy_cll("printfy_cll////////////////////////////////////////////////////////\n"); printfy_cl("printfy_cl//////////////////////////////////////////////////////////\n"); */ ////////////////////////////////////////////////////////////////////////////////////////////

1 #define ARRAY_SIZE(array) (sizeof(array)/sizeof(array[0])) 2 /////////////////////////////////////////////////////////// 3 char*linux_color_table[16]={ 4 "\e[0;31m",//暗红 5 "\e[1;31m",//红 6 "\e[0;32m",// 7 "\e[1;32m",//绿 8 "\e[0;34m",// 9 "\e[1;34m",//蓝 10 "\e[0;33m",// 11 "\e[1;33m",//黄 12 "\e[0;36m",// 13 "\e[1;36m",//青 14 "\e[0;35m",// 15 "\e[1;35m",//紫 16 "\e[0;30m",// 17 "\e[1;30m",//黑 18 "\e[0;37m",//暗白(灰) 19 "\e[1;37m",//白 20 }; 21 char*linux_style_table[4]={ 22 // "\e[0m", //0 NONE 结束 23 "\e[1m", //1 BOLD 加粗 24 "\e[4m", //2 UNDERLINE下划线 25 "\e[5m", //3 BLINK 闪烁 26 "\e[7m", //4 REVERSE 反色 27 // "\e[8m", //5 HIDE 隐藏 28 // "\e[2J", //6 CLEAR 清理 29 // "\r\e[K",//7 CLRLINE 卷曲 30 }; 31 /////////////////////////////////////////////////////////// 32 33 printf("KEY_SINGLE_0 ARRAY_SIZE(linux_color_table):%d--ARRAY_SIZE(linux_style_table):%d\n",ARRAY_SIZE(linux_color_table),ARRAY_SIZE(linux_style_table)); 34 for(u8 i=0;i<ARRAY_SIZE(linux_color_table);i++) 35 { 36 for(u8 i2=0;i2<ARRAY_SIZE(linux_style_table);i2++) 37 { 38 // (printf("i:%d--i2:%d msg:L%d-%s:",i,i2,__LINE__,__FUNCTION__),printf(linux_color_table[i] "Hello World" linux_style_table[i2], ##__VA_ARGS__)); 39 // printf("%si:%d--i2:%d msg:L%d-%s: Hello World %s\033[0m", linux_color_table[i],i,i2,__LINE__,__FUNCTION__, linux_style_table[i2]); 40 // printf("%si:%d--i2:%d%s msg:L%d-%s: Hello World \033[0m", linux_color_table[i],i,i2, linux_style_table[i2],__LINE__,__FUNCTION__); 41 // printf("%s%si:%d--i2:%d msg:L%d-%s: Hello World", linux_color_table[i],linux_style_table[i2],i,i2, __LINE__,__FUNCTION__,"\033[0m"); 42 printf("%s%si:%d--i2:%d msg:L%d-%s: Hello World%s", linux_color_table[i],linux_style_table[i2],i,i2, __LINE__,__FUNCTION__,"\e[0m"); 43 } 44 }
for(u8 i=0;i<255;i++) { //font // printf("\e[38;5;%dm████████████████████████████████████████████████████████████████████████${i}\e[0m\n"); printf("\e[%dm████████████████████████████████████████████████████████████████████████%d\e[0m\n",i,i); }
for(u8 j=41;j<50;j++)//底色40及以下和49及以上都是无效底风格默认
for(u8 i=30;i<40;i++)//字色29及以下和38及以上都是无效字风格默认 // \e[是否亮色;底色m显示字符串\e[0m\n" printf("\e[1;%d;%dm################################################### \\e[1;%d;%dm###\\e[0m \e[0m\n",i,j,i,j);//light
设置默认颜色
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!