c++技巧——Printf 打印彩色字体

Printf 打印彩色字体

在printf函数的控制字符中,使用如下格式进行打印:\033[attr1;attr2;attrnm+字符串,具体可以以下示例

其中attr分别表示各种属性对应的数字,用分号隔开,各个属性对应数字如下表

通用格式控制前景色背景色
0 重置所有属性30 黑色40 黑色
1 高亮/加粗31 红色41 红色
2 暗淡32 绿色42 绿色
4 下划线33 黄色43 黄色
5 闪烁34 蓝色44 蓝色
7 反转35 品红45 品红
8 隐藏36 青色46 青色
37 白色47 白色

这种设置具有后效性,即设置一次后,后面的printf函数默认采用上次的设置,因此一般每次设置时,为了防止前面的设置的影响,第一个attr一般设置成0;

#include <cstdio>
using namespace std;

int main(){
    printf("\033[31;42mred font, green background \n");
    printf("\033[30mblack font, green background \n"); // 绿色背景是受到上次设置的影响
    printf("\033[0mclear settings \n"); // 重置所有设置
    printf("recover to defualt\n");
   	printf("\033[0;31;42mred font, green background \033[0m") // 比较好的习惯,在最后再清零。
}

版权声明:本文为Fei20140908原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。