Windows下更改C/C++控制台程序文本输出颜色
2009-07-29 09:38
573 查看
保存下面的代码放到一个头文件concol.h中
concol.h
下面是测试用例, 包含上面的头文件 concol.h
concol.h
#include <iostream> using namespace std; #include <windows.h> #define RED 0x0004 #define GREEN 0x0002 #define BLUE 0x0001 #define WHITE RED|GREEN|BLUE #define YELLOW RED|GREEN #define PINK RED|BLUE #define TURQUOISE BLUE|GREEN #define BG_RED 0x0040 #define BG_GREEN 0x0020 #define BG_BLUE 0x0010 #define BG_WHITE BG_RED|BG_GREEN|BG_BLUE #define BG_YELLOW BG_RED|BG_GREEN #define BG_PIN KBG_RED|BG_BLUE #define BG_TURQUOISE BG_BLUE|BG_GREEN typedef unsigned short int usint; //--------------------------------------------------------------------------------- class ostreamHelper { private: usint n_; bool inten_; ostream& (*f_)(ostream&,usint,bool); public: ostreamHelper(ostream&(*f)(ostream&,usint, bool), usint n, bool inten):f_(f),n_(n),inten_(inten) { } friend ostream& operator<<(ostream& os,ostreamHelper helper) { return helper.f_(os,helper.n_,helper.inten_); } }; //--------------------------------------------------------------------------------- ostream& ColHelper(ostream& os, usint col, bool inten) { HANDLE *hOut=new HANDLE; *hOut=GetStdHandle(STD_OUTPUT_HANDLE); if(inten==true) col+=0x0008; SetConsoleTextAttribute(*hOut,col); delete hOut; return os; } //-------------------------------------------------------------------------------- ostreamHelper col(usint col, bool intensiv) { return ostreamHelper(&ColHelper,col,intensiv); } //---------------------------------------------------------------------------------
下面是测试用例, 包含上面的头文件 concol.h
#include "concol.h" int main() { cout << col(RED,true) << "hi, I'm an intensiv Red :D/n"; cout << "I'm still red, couz u dont change it!/n"; cout << col(YELLOW|BG_GREEN,true) << "hi, I'm yellow and my BG is greeen :D/n"; cout << col(YELLOW,false) << "now, my color is not intensiv :(/n"; cout << col(WHITE,false) << "now I have the standard color. :> great./n"; return 0; }
相关文章推荐
- C++ 更改控制台显示文本颜色
- 更改 windows下控制台 输出的字体颜色(前景色、背景色)和输出位置(转载)
- 更改 windows下控制台 输出的字体颜色(前景色、背景色)和输出位置(转载)
- C++更改控制台输出颜色
- C++ 更改控制台显示文本颜色
- 【C++程序】[新手向]控制台输出颜色变换特效
- C++ 更改控制台显示文本颜色
- 【C++学习笔记】控制台与文本的输入输出
- c#中重定向windows控制台程序的输出信息
- 控制台程序中控制输出颜色
- 使用cl.exe在windows控制台下编译C++程序
- C++控制台输出字体颜色字体背景色
- Java程序将输出到控制台的语句存入文件和windows DOS将文字输入到文件中
- C程序中修改Windows的控制台颜色
- C程序之修改Windows的控制台颜色(转载)
- C/C++控制台输出时设置字体及背景颜色
- C/C++实现控制台输出不同颜色字体的方法
- 如何使用 C# 来更改前景颜色和背景颜色,在控制台窗口中的文本的
- Qt 5.3更新无数,更改C++控制台输出最为赞(这样就和普通C++ IDE没区别了)
- C++ 控制台彩色输出(windows)