0

我正在尝试更改 C++ 中文本的颜色,我能找到的唯一答案是 C 而不是 C++。我曾尝试使用 conio.h 但不明白如何使用它。有人可以帮忙吗?

4

3 回答 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 回答