什么是多彩Console输出?就是上篇文章中benchmark的效果图
其实windows有专门的console API实现这样效果,.Net里面也有封装,但是VC要实现还真是麻烦。所以在写CiperLib时候我顺便写了个帮助库,提供下面几个函数,使用很方便。
BOOL clr_foregnd(WORD clr);//设置文字颜色
BOOL clr_bkgnd(WORD clr);//设置背景色
BOOL clr_underline(BOOL bUnderLine=TRUE);//文字有下划线
BOOL clr_highlight(BOOL bHighlight=TRUE, BOOL foregnd = TRUE);//是否高亮度显示
BOOL clr_reverse();//背景和前景交换色彩
VOID clr_restore();//恢复默认的显示格式
VOID con_cls();//清屏幕
要注意适用时需要using namespace consolehelper;
使用方法是,调用了格式设定函数后,在之后的输出都会采用设定的色彩或者格式。
比如
clr_foregnd(CON_CLR.RED);
printf("Red Text");
对于颜色,提供了结构:
struct CON_CLR
{
static const WORD RED = FOREGROUND_RED;
static const WORD GREEN = FOREGROUND_GREEN;
static const WORD BLUE = FOREGROUND_BLUE;
};
还可以这样使用:clr_foregnd(CON_CLR.RED | CON_CLR.GREEN);那么就是显示黄颜色了。
clr_highlight严格的说是区分正常色彩和低亮度色彩。
如果将3中元色和亮度组合,那么可以显示16种色彩。
con_cls();等同于system("cls");但是速度快
如果下载过ciplib的代吗,那么本函数库以及包括了,否则可以单独下载:
教育网:
ftp://great_csk:public@public.sjtu.edu.cn/public-files/console_hlper.rar
http://www.csksoft.net/data/legacyftp/Products/code_and_lib/console_hlper.rar