zoukankan      html  css  js  c++  java
  • CC++控制台颜色设置类

    windows和Linux都可用的一个类...用来设置颜色,没有太复杂。简单够用吧。

    #ifdef _WIN32
    #include <Windows.h>
    
    class FontColor
    {
    public:
    	FontColor()
    	{
    		m_hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
    	}
    
    	void SetColor(int nColor)
    	{
    		SetConsoleTextAttribute(m_hStdOut, nColor);
    	}
    
    	void UnSetColor()
    	{
    		SetConsoleTextAttribute(m_hStdOut, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
    	}
    
    	~FontColor()
    	{
    	}
    private:
    	HANDLE	m_hStdOut;
    };
    
    #else 
    
    class FontColor
    {
    public:
    	FontColor()
    	{
    		m_bUnset = true;
    	}
    
    	void SetColor(int nColor)
    	{
    		printf("33[%dm", nColor%10 + 30);
    		m_bUnset = false;
    	}
    
    	void UnSetColor()
    	{
    		if(!m_bUnset)
    		{
    			printf("33[0m");
    			m_bUnset = true;
    		}
    	}
    
    	~FontColor()
    	{
    		UnSetColor();
    	}
    
    private:
    	bool	m_bUnset;
    };
    
    #endif

    输出效果:


    Linux颜色列表表示(本类做了点特殊处理):

    字背景颜色范围:40----49
    40:黑
    41:深红
    42:绿
    43:黄色
    44:蓝色
    45:紫色
    46:深绿
    47:白色
    
    字颜色:30-----------39
    30:黑
    31:红
    32:绿
    33:黄
    34:蓝色
    35:紫色
    36:深绿
    37:白色


  • 相关阅读:
    Record
    Solution -「洛谷 P6287」「COCI 2016-2017」Mag
    Solution -「洛谷 P3773」「CTSC 2017」吉夫特
    Solution -「SP 106」BINSTIRL
    Record
    Record
    Record
    Solution Set -「CSP-S 2020」
    MDK在SRAM中运行-STM32F103RCT6为例
    STM8S103F3P STVD+COSMIC开发环境搭建
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6949557.html
Copyright © 2011-2022 走看看