#include <iostream>
#include <windows.h>
using namespace std;

int main()
{
 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
            FOREGROUND_RED);
 cout<<"Hello"<<endl;
 SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |
            FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
 cout<<"World"<<endl;
 return 0;
}

这个是别人写过的一段程序

关键就是windows.h库中的一些api函数

SetConsoleTextAttribute

设置控制台文本属性

GetStdHandle(STD_OUTPUT_HANDLE)

得到当前标准输出的句柄

上面两个就这样写

关键的是下面这个:

FOREGROUND_INTENSITY | FOREGROUND_RED

其实就是强度并上颜色

如果没有FOREGROUND_INTENSITY 只有 FOREGROUND_RED

那么颜色就偏暗

#define FOREGROUND_BLUE      0x0001 // text color contains blue.
#define FOREGROUND_GREEN     0x0002 // text color contains green.
#define FOREGROUND_RED       0x0004 // text color contains red.
#define FOREGROUND_INTENSITY 0x0008 // text color is intensified.
#define BACKGROUND_BLUE      0x0010 // background color contains blue.
#define BACKGROUND_GREEN     0x0020 // background color contains green.
#define BACKGROUND_RED       0x0040 // background color contains red.
#define BACKGROUND_INTENSITY 0x0080 // background color is intensified.

这个是颜色参数

我看你图片里的几个颜色都能用这些参数拼出来

1.FOREGROUND_BLUE
2.FOREGROUND_GREEN
3.FOREGROUND_BLUE | FOREGROUND_GREEN
4.FOREGROUND_RED
5.FOREGROUND_BLUE | FOREGROUND_RED
.
..
.

10.FOREGROUND_INTENSITY | FOREGROUND_GREEN
11.FOREGROUND_INTENSITY | FOREGROUND_BLUE
12.FOREGROUND_INTENSITY | FOREGROUND_RED

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

SetConsoleTextAttribute 函数, 可以通过做一些封装后这样使用:
cout<<green<<"Green Color"<<endl;

SetColor.h
具体实现如下:
#ifndef SETCOLOR_H
#define SETCOLOR_H
#include <windows.h>
#include <iostream>


enum Color
{
    red,green,white
};

std::ostream& operator<<(std::ostream &out,Color color);
class SetColor
{
public:
    SetColor(){}
    ~SetColor(){}
  //  friend std::ostream& operator <<(std::ostream &out,Color color);  
 
        BOOL SetConsoleTextColor(WORD wAttributes);
        std::ostream& GreenColor(std::ostream &out);
        std::ostream& RedColor(std::ostream &out);
        std::ostream& WhiteColor(std::ostream &out);
    protected:
    private:
};
#endif // REMOTEMETHOD_H



SetColor.cpp
#ifdef UNICODE
#define _T(x) L##x
#else
#define _T(x) x
#endif // UNICODE

#include "SetColor.h"

SetColor::SetColor()
{
    //ctor
}

SetColor::~SetColor()
{
    //dtor
}

inline BOOL SetColor::SetConsoleTextColor(WORD wAttributes)
{
    if(!SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),wAttributes))
    {
        SetLastError(GetLastError());
        return FALSE;
    }
    return TRUE;
}

inline std::ostream& SetColor::GreenColor(std::ostream &out)
{
    SetConsoleTextColor(FOREGROUND_INTENSITY|FOREGROUND_GREEN);
    return out;
}

inline std::ostream& SetColor::RedColor(std::ostream &out)
{
    SetConsoleTextColor(FOREGROUND_INTENSITY|FOREGROUND_RED);
    return out;
}

inline std::ostream& SetColor::WhiteColor(std::ostream &out)
{
    SetConsoleTextColor(FOREGROUND_INTENSITY|FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
    return out;
}


std::ostream& operator<< (std::ostream &out,Color color)
{
    SetColor setcolor;
    switch(color)
    {
    case red:
        return setcolor.RedColor(out);
    case green:
        return setcolor.GreenColor(out);
    case white:
        return setcolor.WhiteColor(out);
    }
    return out;
}