C++ 控制檯的字體顏色控制。
錯誤輸出可以使用。
// 設置各種CMD的顏色,缺點是不能恢復默認值(字灰色)
#include "stdafx.h"
#include <Windows.h>
#include <iostream>
inline BOOL SetConsoleTextColor(WORD wAttributes)
{
if (!SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), wAttributes))
{
SetLastError(GetLastError());
return FALSE;
}
return TRUE;
}
inline std::ostream& greenColor(std::ostream &out)
{
SetConsoleTextColor(FOREGROUND_INTENSITY | FOREGROUND_GREEN);
return out;
}
inline std::ostream& redColor(std::ostream &out)
{
SetConsoleTextColor(FOREGROUND_INTENSITY | FOREGROUND_RED);
return out;
}
inline std::ostream& blueColor(std::ostream &out)
{
SetConsoleTextColor(FOREGROUND_INTENSITY | FOREGROUND_BLUE);
return out;
}
inline std::ostream& whiteColor(std::ostream &out)
{
SetConsoleTextColor(FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
return out;
}
int main()
{
std::cout << greenColor << "Hello world !" << std::endl;
std::cout << redColor << "Hello world !" << std::endl;
std::cout << blueColor << "Hello world !" << std::endl;
std::cout << whiteColor << "Hello world !" << std::endl;
return 0;
}