C\C++控制台颜色设置类

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("\033[%dm", nColor%10 + 30);
		m_bUnset = false;
	}

	void UnSetColor()
	{
		if(!m_bUnset)
		{
			printf("\033[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:白色


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值