c/c++的彩色控制台输出方法

先使用宏控定义颜色.

#ifndef _COLOR_H_
#define _COLOR_H_

#define NONE                  "e[0m"           //清除颜色,即之后的打印为正常输出,之前的不受影响
#define BLACK                 "e[0;30m"         //深黑
#define L_BLACK             "e[1;30m"            //亮黑,偏灰褐
#define RED                     "e[0;31m"      //深红,暗红
#define L_RED                 "e[1;31m"        //鲜红
#define GREEN                "e[0;32m"         //深绿,暗绿
#define L_GREEN            "e[1;32m"           //鲜绿
#define BROWN               "e[0;33m"          //深黄,暗黄
#define YELLOW              "e[1;33m"          //鲜黄
#define BLUE                    "e[0;34m"      //深蓝,暗蓝
#define L_BLUE                "e[1;34m"        //亮蓝,偏白灰
#define PURPLE               "e[0;35m"         //深粉,暗粉,偏暗紫
#define L_PURPLE           "e[1;35m"           //亮粉,偏白灰
#define CYAN                   "e[0;36m"       //暗青色
#define L_CYAN               "e[1;36m"         //鲜亮青色
#define GRAY                   "e[0;37m"       //灰色
#define WHITE                  "e[1;37m"       //白色,字体粗一点,比正常大,比bold小
#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               "
e[K"          //清除行

#endif

c语言版本

#include <stdio.h>
#include <stdlib.h>
int print_test(void)
{
          
   
    printf("This is a character control test!
" );
    printf("[%2u]" CLEAR "CLEAR
" NONE, __LINE__);
    printf("[%2u]" BLACK "BLACK " L_BLACK "L_BLACK
" NONE, __LINE__);
    printf("[%2u]" RED "RED " L_RED "L_RED
" NONE, __LINE__);
    printf("[%2u]" GREEN "GREEN " L_GREEN "L_GREEN
" NONE, __LINE__);
    printf("[%2u]" BROWN "BROWN " YELLOW "YELLOW
" NONE, __LINE__);
    printf("[%2u]" BLUE "BLUE " L_BLUE "L_BLUE
" NONE, __LINE__);
    printf("[%2u]" PURPLE "PURPLE " L_PURPLE "L_PURPLE
" NONE, __LINE__);
    printf("[%2u]" CYAN "CYAN " L_CYAN "L_CYAN
" NONE, __LINE__);
    printf("[%2u]" GRAY "GRAY " WHITE "WHITE
" NONE, __LINE__);
    printf("[%2u]" BOLD "BOLD
" NONE, __LINE__);
    printf("[%2u]" UNDERLINE "UNDERLINE
" NONE, __LINE__);
    printf("[%2u]" BLINK "BLINK
" NONE, __LINE__);
    printf("[%2u]" REVERSE "REVERSE
" NONE, __LINE__);
    printf("[%2u]" HIDE "HIDE
" NONE, __LINE__);

    printf(GREEN "csdsafsfsdfsdfsadffsda 

");    
    printf(L_RED "L_RED
");
    printf(NONE "xxxxxxx");


    return 0;

}

int main()
{
          
   
    print_test();
    return 0;
}

效果

c++版本

cout << GRAY << "outp" << NONE << endl;
cout << RED << "red" << NONE << endl;
std::cout << RED << "hello world" << RESET << std::endl;
经验分享 程序员 微信小程序 职场和发展