c++ - 如何在 Windows 控制台应用程序中更改文本或背景颜色

标签 c++ text background-color

哪个 C++ 函数更改文本或背景颜色 (MS Visual studio)?例如cout<<"This text";如何使“此文本”变为红色。

最佳答案

您可以使用 Win32 更改控制台应用程序的颜色,以下是如何更改颜色的示例:

#include "stdafx.h"
#include <Windows.h>
#include <iostream>

using namespace std; 

int main(void) 
{ 
    HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE); 
    if (hStdout == INVALID_HANDLE_VALUE) 
    {
        cout << "Error while getting input handle" << endl;
        return EXIT_FAILURE;
    }
    //sets the color to intense red on blue background
    SetConsoleTextAttribute(hStdout, FOREGROUND_RED | BACKGROUND_BLUE | FOREGROUND_INTENSITY);

    cout << "This is intense red text on blue background" << endl;
    //reverting back to the normal color
    SetConsoleTextAttribute(hStdout, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);

    return EXIT_SUCCESS;
}

查看 SetConsoleTextAttribute 的 MSDN 文档功能和Console Screen Buffers获取更多信息。

有关使用 Win32 的控制台应用程序的更完整示例可用 here .

关于c++ - 如何在 Windows 控制台应用程序中更改文本或背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8285825/

相关文章:

ios - 带行高的 Three20 框架?

html - 如何使背景颜色覆盖我的整个 DIV 而不仅仅是其中的文本?

html - 两列自动高度背景颜色

c++ - 使用一维数组的二项式系数

c++ - 用字符随机化一个二维数组?

android - 我可以在 Android 布局 xml 文件中定义中线文本吗

html - 在背景颜色上应用渐变

c++ - 如何将 "char"转换为 "std::string"?

c++ - 如何创建 Min STL priority_queue?

javascript - 将第一页中的所有 cookie 保存在硬盘上的文本文件中