📅  最后修改于: 2023-12-03 15:36:23.193000             🧑  作者: Mango
在 C++ 中,可以使用一些方法在控制台中输出彩色文本以进行更好的可视化效果。
在 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 转义码中,\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++ 中以颜色输出到控制台的两种方式。根据不同的需求,可以选择不同的方法实现。