答案是使用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位控制背景色。常用前景色代码如下:
下面是一个完整示例,展示如何输出不同颜色的文本:
#include <iostream>
#include <windows.h>
using namespace std;
int main() {
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
// 红色文字
SetConsoleTextAttribute(hConsole, 4);
cout << "这是红色文字" << endl;
// 绿色文字
SetConsoleTextAttribute(hConsole, 2);
cout << "这是绿色文字" << endl;
// 亮黄色文字(背景为黑色)
SetConsoleTextAttribute(hConsole, 14);
cout << "这是亮黄色文字" << endl;
// 恢复默认颜色
SetConsoleTextAttribute(hConsole, 7);
cout << "这是默认颜色文字" << endl;
return 0;
}
颜色设置会持续生效,直到再次更改。如果希望恢复默认颜色,通常使用7(白色/灰色)。跨平台程序无法直接使用此方法,Linux/macOS需使用ANSI转义序列。若需兼容多平台,建议封装颜色输出函数进行条件编译处理。
基本上就这些。不复杂但容易忽略的是记得恢复颜色或统一管理状态。
以上就是C++如何设置输出字体颜色_C++控制台文本颜色修改代码的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号