首页 > 后端开发 > C++ > 正文

C++如何设置输出字体颜色_C++控制台文本颜色修改代码

裘德小鎮的故事
发布: 2025-12-01 00:01:18
原创
178人浏览过
答案是使用Windows API的SetConsoleTextAttribute()函数可修改C++控制台文本颜色,需包含windows.h头文件,通过设置颜色代码改变前景色和背景色,颜色持续生效直至重新设置,示例中分别输出红、绿、亮黄及默认颜色文字,跨平台应用需考虑ANSI转义序列兼容性。

c++如何设置输出字体颜色_c++控制台文本颜色修改代码

在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 <iostream>
#include <windows.h>
using namespace std;

Rose.ai
Rose.ai

一个云数据平台,帮助用户发现、可视化数据

Rose.ai 74
查看详情 Rose.ai

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中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号