祝大家新年快乐,并送给大家一个彩色打印模块

yzx714 2010-02-11 09:06:05
厌倦了终端下”黑白分明“的文字,羡慕grep的彩色打印文字?却不知道怎么输出彩色字?
在我的一番疯狂Google之后,我终于知道了Linux终端下打印彩色字的办法。
并且把它写成了一个C头文件,给大家分享下。
我在Linux下测试成功,可以打印8种颜色的字。但我估计VC的output窗口应该也可以~
废话少说,上代码。
并且马上要过年了,祝大家新年快乐。
/****************************************************************************
文件名:colorprint.h
用处:对一个字符串着色
作者:杨志轩
时间:2010.2.11 晚上 20.57
用法请参见注释,祝大家新年快乐!
****************************************************************************/
#ifndef COLORPRINT_H
#define COLORPRINT_H

#include <string.h>

/*****************************************************************************
枚举类型color用来定义能够支持的各种颜色,一共有8种
****************************************************************************/
enum color{red,blue,green,black,yellow,white,darkgreen,purple};

/*****************************************************************************
*setcolor函数用来给一个字符串设定颜色
*第一个参数color用于定义颜色,是一个枚举类型color,可以选择的颜色一共有8种
*第二个参数des用来存放保存着色过的字符串
*第三个参数src源字符串的位置
*返回值是着色过的字符串的地址
*用法举例:printf("%s",setcolor(red,des,"Happy new year!"));
*****************************************************************************/
char* setcolor(enum color col,char* des,char* src)
{

char* tep=des;
strcpy(tep,"\033[0;");
tep+=strlen("\033[0;");
if(col==red){
strcpy(tep,"31m");
tep+=3;
}
else if(col==blue){
strcpy(tep,"34m");
tep+=3;
}
else if(col==green){
strcpy(tep,"32m");
tep+=3;
}
else if(col==black){
strcpy(tep,"30m");
tep+=3;
}
else if(col==yellow){
strcpy(tep,"33m");
tep+=3;
}
else if(col==white){
strcpy(tep,"37m");
tep+=3;
}
else if(col==darkgreen){
strcpy(tep,"36m");
tep+=3;
}
else if(col==purple){
strcpy(tep,"35m");
tep+=3;
}
else{
strcpy(tep,"0m");
tep+=2;
}
strcpy(tep,src);
tep+=strlen(src);
strcpy(tep,"\033[0m");
return des;

}
#endif

...全文
146 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
phpjspasp 2010-02-13
  • 打赏
  • 举报
回复
新年好!!!!!!!!!!
yzx714 2010-02-12
  • 打赏
  • 举报
回复
总感觉我的贴没人看啊
布拉格曼 2010-02-12
  • 打赏
  • 举报
回复
呵呵,精彩 。。。。。。 up
WPooh 2010-02-11
  • 打赏
  • 举报
回复
yzx714 2010-02-11
  • 打赏
  • 举报
回复
另外,大家知道CSDN最近对发贴的长度进行了限制,但CSDN有个小漏洞,只要你手动的对你的文字选成黑色,就可以逃脱检查了

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧