📜  以颜色 c++ 输出到控制台(1)

📅  最后修改于: 2023-12-03 15:36:23.193000             🧑  作者: Mango

以颜色 C++ 输出到控制台

在 C++ 中,可以使用一些方法在控制台中输出彩色文本以进行更好的可视化效果。

使用 Windows 平台控制台 API

在 Windows 平台下,可以使用控制台 API 通过设置文本属性的方式设置文本的前景色、背景色等属性,来输出彩色文本。

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

int main() 
{
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_INTENSITY);
    std::cout << "Hello, world!\n";
    return 0;
}

上面的代码中,GetStdHandle 用于获取标准输出的句柄,而 SetConsoleTextAttribute 则用于设置文本属性,FOREGROUND_BLUE 表示蓝色前景色,FOREGROUND_INTENSITY 表示增强亮度效果。

使用 ANSI 转义码

另一种方法是使用 ANSI 转义码。这种方式可以跨平台使用。

在 ANSI 转义码中,\033[ 后面的字符可以设置输出文本的样式,如前景色、背景色等。

#include <iostream>
#include <string>

int main() 
{
    std::string red = "\033[31m";
    std::string green = "\033[32m";
    std::string reset = "\033[0m";
    std::cout << red << "Hello, " << green << "world!" << reset << "\n";
    return 0;
}

上面的代码中,\033[31m 表示红色前景色,\033[32m 表示绿色前景色,\033[0m 则是重置样式并恢复默认颜色。

结束语

以上就是在 C++ 中以颜色输出到控制台的两种方式。根据不同的需求,可以选择不同的方法实现。