控制命令
我们常用的printf函数输出来的颜色是终端的配色。如果想要输出不同的颜色进行区分,就需要用到printf的控制命令:\033[m。
控制命令以\033[开头,以m结尾,而中间则是属性码,属性代码之间使用;分隔,如\033[1;34;42m。而属性代码的含义见下面的表格。
printf属性代码
属性代码 |
功能 |
0 |
重置所有属性 |
1 |
高亮/加粗 |
2 |
暗淡 |
4 |
下划线 |
5 |
闪烁 |
7 |
反转 |
8 |
隐藏 |
前景色
属性代码 |
功能 |
30 |
黑色 |
31 |
红色 |
32 |
绿色 |
33 |
黄色 |
34 |
蓝色 |
35 |
品红 |
36 |
青色 |
背景色
属性代码 |
功能 |
40 |
黑色 |
41 |
红色 |
42 |
绿色 |
43 |
黄色 |
44 |
蓝色 |
45 |
品红 |
46 |
青色 |
代码示例
#include <stdio.h>
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()
{
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;
}