C语言实现改变控制台字体颜色

控制台大多数默认是黑底白字的,有时看起来总会有点枯燥,这时候可以改变字体颜色来缓解

在设置颜色时,每个数值都代表着对应的颜色,改变颜色依靠改变参数的数值,对照表如下:

1
2
3
4
5
6
7
8
0 = 黑色       8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 浅绿色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色

颜色的改变可以分为全局改变和局部改变两种,具体实现如下:

① 全局改变字体颜色

1
2
3
改变颜色需要头文件:windows.h
使用方法:system("color **");
第一个*是背景颜色,第二个*是字体颜色
1
2
3
4
5
6
7
8
9
#include <stdio.h>
#include <windows.h>

int main()
{
system("color 35"); //背景为蓝色,字体为紫色
printf("\n 颜色测试 \n");
return 0;
}

运行结果:


② 局部改变字体颜色

但有时候我们并不希望全部的颜色都是一样的,这时候就需要用到局部颜色改变啦~

1
2
改变颜色需要头文件:windows.h
这里写的是自定义函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <windows.h>

//局部字体改变颜色
void color(short x)
{
if (x >= 0 && x <= 15)//参数在0-15的范围颜色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x); //只有一个参数,改变字体颜色
else//默认的颜色白色
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
}

int main()
{
color(6);
printf("\n 这是黄色 \n");
color(4);
printf("\n 这是红色 \n");
return 0;
}


这时候就能随心所欲地改变字体颜色了!~~

运行结果:


星之所在,心之所向(寒冰小澈)