云计算百科
云计算领域专业知识百科平台

设置c++字体颜色

C++ 设置字体颜色

很多C++的初学者发现,控制台的颜色永远是黑白的,这未免太单调了,怎么才能使字体像那些软件一样呈彩色呢?现在,我们就将学习C++ 设置字体颜色的方法。

方法一:system(“color”)

system函数想必大家都听说过,它可以用来设置字体的颜色,只需要在color后加上字体的背景色和前景色,取值如下:

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

接下来,我们就可以通过system("color")设置字体颜色了,下面的代码就可以将字体设为白底黑字:

#include <bits/stdc++.h>
using namespace std;
int main() {
system("color F0");
cout<<"hello"<<endl;
return 0;
}

方法二:SetConsoleTextAttribute

在使用system("color")的时候,你会发现,一旦使用该函数,整个窗口都会被改变颜色。那么如何设置单个字的颜色呢?这就要用到SetConsoleTextAttribute函数了,他需要头文件#include <windows.h>。

void SetColorAndBackground(int ForgC, int BackC) {
WORD wColor = ((BackC & 0x0F) << 4) + (ForgC & 0x0F);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor);
}

SetConsoleTextAttribute实际上需要混合颜色的,但为了方便使用 ,我们将他转换成以上函数,ForgC表示前景色,取值范围从1~15,BackC表示背景色,取值也是1~15。我们就来做一个简单的测试:

#include <bits/stdc++.h>
#include <windows.h>
using namespace std;

void SetColorAndBackground(int ForgC, int BackC) {
WORD wColor = ((BackC & 0x0F) << 4) + (ForgC & 0x0F);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wColor);
}

int main() {
SetColorAndBackground(15,0);
cout<<"hello"<<endl;
SetColorAndBackground(7,4);
cout<<"hello"<<endl;
return 0;
}

效果如下:

结束语

通过了本章的学习,想必你已经学会了设置字体颜色的方法,有问题可以在评论区留言。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 设置c++字体颜色
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!