在C++中设置控制台输出颜色需包含windows.h头文件,调用GetStdHandle获取输出句柄后,使用SetConsoleTextAttribute函数设置前景色和背景色组合,如12为亮红、236为红字黄底,最后应恢复默认颜色7,该方法仅适用于Windows平台。

在C++中设置控制台输出颜色,主要通过调用Windows API中的SetConsoleTextAttribute函数实现。这个方法适用于Windows平台的控制台程序,比如使用Visual Studio或Code::Blocks等编译器开发的命令行应用。
1. 包含必要的头文件
要使用控制台颜色功能,需要包含windows.h头文件,它提供了对Windows API的访问:
#include #include using namespace std;
2. 使用SetConsoleTextAttribute设置颜色
SetConsoleTextAttribute函数用于更改后续文本的显示颜色。它的第一个参数是控制台输出句柄,第二个参数是颜色属性值。
获取句柄的方法是调用GetStdHandle(STD_OUTPUT_HANDLE)。
立即学习“C++免费学习笔记(深入)”;
颜色由前景色(文字颜色)和背景色组合而成,常用的颜色常量如下:
0 = 黑色 1 = 深蓝 2 = 深绿 3 = 深青 4 = 深红 5 = 深紫 6 = 深黄 7 = 浅灰(默认) 8 = 深灰 9 = 亮蓝 10 = 亮绿 11 = 亮青 12 = 亮红 13 = 亮紫 14 = 亮黄 15 = 白色
例如,输出红色文字:
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(hConsole, 12); // 12代表亮红cout << "这是红色文字" << endl;
3. 同时设置文字和背景颜色
可以通过将前景色和背景色的值相加来设置背景。例如,红色文字+黄色背景:
SetConsoleTextAttribute(hConsole, 12 + (14 << 4)); // 14<<4 表示背景色// 或者直接写成 12 + 224 = 236SetConsoleTextAttribute(hConsole, 236);
其中背景色需要左移4位(乘以16),因为高4位表示背景色,低4位表示前景色。
4. 恢复默认颜色
设置颜色后,后续所有输出都会使用该颜色。建议在结束时恢复为默认颜色(通常是浅灰色文字+黑色背景,即7):
SetConsoleTextAttribute(hConsole, 7);
完整示例:
#include #include using namespace std;int main() { HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(hConsole, 10); cout << "绿色文字" << endl; SetConsoleTextAttribute(hConsole, 12); cout << "红色文字" << endl; SetConsoleTextAttribute(hConsole, 15 + (1 << 4)); // 白字蓝底 cout << "白色文字,蓝色背景" << endl; SetConsoleTextAttribute(hConsole, 7); // 恢复默认 return 0;}
基本上就这些。注意这种方法只在Windows控制台有效,Linux/macOS需使用ANSI转义序列。如果你写的是跨平台程序,要考虑不同系统的兼容处理。
以上就是c++++怎么设置控制台输出颜色_c++控制台输出颜色设置方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1477234.html
微信扫一扫
支付宝扫一扫