std::cout << "blblabla... [done]" << std::endl;
Run Code Online (Sandbox Code Playgroud)
是否可以制作[done]另一种颜色,并且可能大胆?我正在使用Windows 7
Bri*_*ndy 21
这取决于您使用的操作系统.
如果您正在使用Windows,则需要SetConsoleTextAttribute:
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); // Get handle to standard output
SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE);
Run Code Online (Sandbox Code Playgroud)
您还可以组合值.
应用程序可以组合前景和背景常量以实现不同的颜色.例如,以下组合在蓝色背景上产生明亮的青色文本.
FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_INTENSITY | BACKGROUND_BLUE
然后,您可以使用WriteFile或WriteConsole实际编写控制台.
是的,您只需发送一个标准的转义序列,例如
const char* green = "\033[0;32m";
const char* white = "\033[0;37m";
const char* red = "\033[0;31m";
double profit = round(someComplicatedThing());
std::cout << (profit < 0 ? red : (profit > 0 ? green : white))
<< "Profit is " << profit << white << std::endl;
Run Code Online (Sandbox Code Playgroud)
您还可以获得粗体与正常,彩色背景等.ANSI转义码上的维基百科页面有详细信息,Bash-Prompt HOWTO有示例.