扩展:彩色控制台

拓展 – C++ 提纲

拓展

彩色控制台

控制命令

我们常用的 printf 函数输出来的颜色是终端的配色。如果想要输出不同的颜色进行区分,就需要用到 printf 的控制命令:\033[m。控制命令以 \033[ 开头,以 m 结尾,而中间则是属性码,属性代码之间使用 ; 分隔,如 \033[1;34;42m。而属性代码的含义见下面的表格。

printf 属性代码:

注意:若打印了乱码,请引入 stdlib.h,执行 system(“”);

示例代码

#include <cstdio>
#include <cstdlib>

void printf_red(const char *s){printf("\033[0m\033[1;31m%s\033[0m", s);}

void printf_green(const char *s)
{printf("\033[0m\033[1;32m%s\033[0m", s);}

void printf_yellow(const char *s){printf("\033[0m\033[1;33m%s\033[0m", s);}

void printf_blue(const char *s){printf("\033[0m\033[1;34m%s\033[0m", s);}

void printf_pink(const char *s){printf("\033[0m\033[1;35m%s\033[0m", s);}

void printf_cyan(const char *s){printf("\033[0m\033[1;36m%s\033[0m", s);}

int main()
{
    system("");
    printf_red("Hello World.\n");
    printf_green("Hello World.\n");
    printf_yellow("Hello World.\n");
    printf_blue("Hello World.\n");
    printf_pink("Hello World.\n");
    printf_cyan("Hello World.\n");
    return 0;
}

上面的代码中,每个函数都对应输出一种颜色的字符串,这里只用了高亮加前景色,没有设置背景色。我们看到 printf 中的字符串开头和结尾均是 \033[0m,这个代码的作用就是重置所有设置过的属性,在开头添加是为了防止其他的设置对自身有影响,而在结尾添加则是为了防止自身对其他地方的设置有影响。然后中间的代码如 \033[1;31m%s 则是设置为高亮加红色。

结果如图所示:


发表评论

滚动至顶部