Print Coloured Text to Console in C++

前端 未结 4 1472
眼角桃花
眼角桃花 2020-12-31 21:38

I would like to write a Console class that can output coloured text to the console.

So I can do something like (basically a wrapper for printf):

Cons         


        
4条回答
  •  死守一世寂寞
    2020-12-31 22:12

    #include 
    #include 
    using namespace std;
    
    int main()
    {
        HANDLE hOut;
    
        hOut = GetStdHandle(STD_OUTPUT_HANDLE);
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_RED);
        cout << "Red     " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_RED |
                                BACKGROUND_INTENSITY);
        cout << "Red     " << endl;
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_GREEN);
        cout << "Green   " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_GREEN |
                                BACKGROUND_INTENSITY);
        cout << "Green   " << endl;
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_BLUE);
        cout << "Blue    " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_BLUE |
                                BACKGROUND_INTENSITY);
        cout << "Blue    " << endl;
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_RED | 
                                BACKGROUND_GREEN);
        cout << "Yellow  " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_RED | 
                                BACKGROUND_GREEN |
                                BACKGROUND_INTENSITY);
        cout << "Yellow  " << endl;
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_GREEN | 
                                BACKGROUND_BLUE);
        cout << "Cyan    " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_GREEN | 
                                BACKGROUND_BLUE |
                                BACKGROUND_INTENSITY);
        cout << "Cyan    " << endl;
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_BLUE | 
                                BACKGROUND_RED);
        cout << "Magenta " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_BLUE | 
                                BACKGROUND_RED |
                                BACKGROUND_INTENSITY);
        cout << "Magenta " << endl;
    
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_RED | 
                                BACKGROUND_GREEN | 
                                BACKGROUND_BLUE);
        cout << "White   " << flush;
        SetConsoleTextAttribute(hOut,
                                BACKGROUND_RED | 
                                BACKGROUND_GREEN | 
                                BACKGROUND_BLUE |
                                BACKGROUND_INTENSITY);
        cout << "White   " << endl;
    
        return 0;
    }
    

提交回复
热议问题