我正在尝试更改 C++ 中文本的颜色,我能找到的唯一答案是 C 而不是 C++。我曾尝试使用 conio.h 但不明白如何使用它。有人可以帮忙吗?
问问题
279 次
3 回答
1
文本着色并不是真正的 C++ 方面。在某些 unix 终端中,您可以\e[0;31m message \e[0m
直接在程序中使用代码(尽管您可能希望创建一个 API 以方便使用)。但是,这在 Windows 控制台中不起作用。这取决于所使用的操作系统和终端。
于 2020-08-31T05:42:31.700 回答
1
如果你不需要坚持非跨平台库conio.h
。我建议使用跨平台解决方案:仅标头,moderc C++rang
库。我在我的大部分项目中都使用它,它真的很容易使用
于 2020-08-31T05:44:30.757 回答
0
我发现了如何使用 windows.h 更改文本的颜色。这是我使用的代码示例(从https://cboard.cprogramming.com/复制)。
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE); // h is your link to the console
SetConsoleTextAttribute(h, 1); cout << "Sentence in blue" << '\n'; // 1 happens to be blue
SetConsoleTextAttribute(h, 2); cout << "Sentence in green" << '\n'; // 2 is green
SetConsoleTextAttribute(h, 4); cout << "Sentence in red" << '\n'; // 4 is red
SetConsoleTextAttribute(h, 7); cout << "Sentence in white" << '\n'; // etc.
}
于 2020-08-31T23:38:51.920 回答