c++输出控制台彩色字体

vscode终端调试全都是白色字体是不是十分单调?没关系,通过控制字符可以令其输出彩色字体。我这里抛砖引玉,只举个例子。还有其它许多颜色、背景可以控制,请各自行查阅。

控制方法:

cout<<"\033[32m"<<STRING<<"\033[m\n";

说明:\033[32m是控制后续字体全部变绿,\033[m是控制后续字体回复正常颜色。如果你不用\033[m恢复原样后面全是绿色的。

推荐写法:使用宏定义,以免重复书写,这一段可以拿走,我只写了三个我常用的。

// 自带换行的颜色输出
#define GREEN(STRING) std::cout<<"\033[32m"<<STRING<<"\033[m\n"
#define RED(STRING) std::cout<<"\033[31m"<<STRING<<"\033[m\n"
#define YELLOW(STRING) std::cout<<"\033[33m"<<STRING<<"\033[m\n"

// 不带换行符的颜色输出
#define YELLOW_WITHOUTENTER(STRING) std::cout<<"\033[33m"<<STRING<<"\033[m"
#define GREEN_WITHOUTENTER(STRING) std::cout<<"\033[32m"<<STRING<<"\033[m"
#define RED_WITHOUTENTER(STRING) std::cout<<"\033[31m"<<STRING<<"\033[m"

// 单纯的颜色控制
#define COLOR_GREEN "\033[32m"
#define COLOR_RED "\033[31m"
#define COLOR_YELLOW "\033[33m"
#define COLOR_NORMAL "\033[m"

使用例1:中间只输出字符串

GREEN("[NET]: Ready to go into Conv1:");

效果:
效果
使用例2:不带换行符,中间输出其它内容,因为是宏定义,直接像cout一样写就完事了

YELLOW_WITHOUTENTER('('<<(rows + winy)  <<','<<winx + cols<<")    ");

配合其它语句输出效果:
黄色

只是心中枷锁
该如何才能解脱
–《挪威的森林》

猜你喜欢

转载自blog.csdn.net/m0_51194302/article/details/128082194