答案是使用Windows API的SetConsoleTextAttribute()函数可修改C++控制台文本颜色,需包含windows.h头文件,通过设置颜色代码改变前景色和背景色,颜色持续生效直至重新设置,示例中分别输出红、绿、亮黄及默认颜色文字,跨平台应用需考虑ANSI转义序列兼容性。

在C++中,可以通过调用Windows API函数来修改控制台输出的文本颜色。这种方法适用于Windows平台下的控制台程序(如使用Visual Studio编译运行的程序)。核心函数是SetConsoleTextAttribute(),它定义在windows.h头文件中。
包含必要头文件
要使用颜色控制功能,需包含以下头文件:
#include iostream>
#include windows.h>
设置文本颜色的基本方法
使用SetConsoleTextAttribute()函数可以改变后续输出文本的颜色。该函数接受两个参数:控制台句柄和颜色属性。常用方式如下:
立即学习“C++免费学习笔记(深入)”;
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, color_code);
其中color_code是一个整数值,代表前景色(文字颜色)和背景色的组合。
颜色代码说明
颜色由4位二进制数表示,低4位控制前景色,高4位控制背景色。常用前景色代码如下:
1:蓝色 2:绿色 3:青色 4:红色 5:紫色 6:黄色 7:白色(默认) 8:灰色 9:亮蓝色 10:亮绿色 12:亮红色 14:亮黄色 15:亮白色
示例代码
下面是一个完整示例,展示如何输出不同颜色的文本:
#include stream>
#include windows.h>
using namespace std;
int main() {
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
// 红色文字
SetConsoleTextAttribute(hConsole, 4);
cout
// 绿色文字
SetConsoleTextAttribute(hConsole, 2);
cout
// 亮黄色文字(背景为黑色)
SetConsoleTextAttribute(hConsole, 14);
cout
// 恢复默认颜色
SetConsoleTextAttribute(hConsole, 7);
cout
return 0;
}
注意事项
颜色设置会持续生效,直到再次更改。如果希望恢复默认颜色,通常使用7(白色/灰色)。跨平台程序无法直接使用此方法,Linux/macOS需使用ANSI转义序列。若需兼容多平台,建议封装颜色输出函数进行条件编译处理。
基本上就这些。不复杂但容易忽略的是记得恢复颜色或统一管理状态。
以上就是C++如何设置输出字体颜色_C++控制台文本颜色修改代码的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1487107.html
微信扫一扫
支付宝扫一扫