0.前言
C++输出界面的默认形式是黑底白字,就像这样:
在编小游戏时总感觉有点单调。。。
所以,为了让输出界面更加美观,我们可以使用——SetConsoleTextAttribute函数或system函数
1.16进制字母表
16进制颜色对照表:
0 = 黑色
1 = 蓝色
2 = 绿色
3 = 湖蓝色
4 = 红色
5 = 紫色
6 = 黄色
7 = 白色
8 = 灰色
9 = 亮蓝色
A = 亮绿色
B = 亮湖蓝色
C = 亮红色
D = 亮紫色
E = 亮黄色
F = 亮白色
2.SetConsoleTextAttribute函数
SetConsoleTextAttribute函数是 Windows API 的一部分,用于设置控制台屏幕缓冲区的文本和背景颜色属性。以下是该函数的原型:
BOOL SetConsoleTextAttribute(
HANDLE hConsoleOutput,
WORD wAttributes
);
参数说明
- hConsoleOutput: 控制台屏幕缓冲区的句柄。通常用
GetStdHandle(STD_OUTPUT_HANDLE)
来获取标准输出设备的句柄。 - wAttributes: 文本和背景的颜色属性。这是一个组合值,由前景色和背景色组成。
返回值
-
如果函数成功,则返回非零值。
-
如果函数失败,则返回零。可以通过调用
GetLastError
获取更多错误信息。
2.1.头文件
#include<Windows.h>
2.2.格式
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),0xmm);
第一个m代表前景色(Foreground Colors),第二个m代表背景色(Background Colors)(对照16进制字母表使用)
2.3.示例
有人肯定会说“SetConsoleTextAttribute函数又长又麻烦,有更方便的吗”(你难道不会Ctrl C和Ctrl V吗,抄都不会抄)当然有,那就是——system函数
3.system函数
system函数比SetConsoleTextAttribute函数看起来字就少多了(废话)
system函数是一个在C语言和C++中常用的函数,用于执行操作系统的命令或启动子进程,它有许多作用,现在只讲改变外观颜色(以后会单独讲)以下是该函数的原型:
int system(const char *command);
参数说明
-
command
:要执行的系统命令,以字符串形式给出。
返回值
-
如果命令成功执行,返回命令的退出状态码(非零值)。
-
如果命令执行失败,返回-1。
-
如果无法启动命令解释器,也返回-1。
3.1.头文件
与SetConsoleTextAttribute函数一样,都要用——
#include<Windows.h>
3.2.格式
system("color xx");
与SetConsoleTextAttribute函数一样,第一个x代表背景颜色,第二个x代表字体颜色(与SetConsoleTextAttribute函数一样,对照16进制字母表使用)
3.3.示例
重点 SetConsoleTextAttribute函数每设置一次颜色就会改变一次,而system函数只会取最后一次设置的颜色输出!!!
对比一下:
system函数
SetConsoleTextAttribute函数
---------------------------------------------------------------------------------------------------------------------------------
system函数
SetConsoleTextAttribute函数
4.总结
这就是C++语言如何改变字体颜色这篇文章
记得点赞。。。