带颜色打印

在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         }
View Code

 

    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

 

  设置默认颜色

 

posted @ 2024-03-29 11:55  败人两字非傲即惰  阅读(3)  评论(0编辑  收藏  举报