这是对grep功能的一个简单模仿,但不是单纯的模仿,它的独特之处在于能够保持文本整体的视觉效果。
myst_color.c
/* myst_color.c
* Written by Myst Shen on Nov. 11, 2008.
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "myst_color.h"
int c, num;
char *rcolor;
NODE * init (FILE *fp){
head = (NODE *)malloc(sizeof(NODE));
head->next = NULL;
tail = head;
while (1){
c = fgetc(fp);
if( c == EOF ) break;
p = (NODE *)malloc(sizeof(NODE));
p->val = c;
p->color = "33[1;30m";
p->next = NULL;
tail->next = p;
p->prev = tail;
tail = p;
}
return head;
}
char * rand_color (int num) {
int num1, num2;
char *color[] = {
"33[1;31m",
"33[1;32m",
"33[1;33m",
"33[1;34m",
"33[1;35m",
"33[1;36m",
"33[0;31m",
"33[0;32m",
"33[0;33m",
"33[0;34m",
"33[0;35m",
"33[0;36m",
};
srand((unsigned)time(NULL));
num1 = rand()%11
num2 = num1 - num;
rcolor = color[num2];
return rcolor;
}
int print (NODE *pNODE) {
while(1){
pNODE = pNODE->next;
if ( pNODE == NULL ) break;
printf("%s", pNODE->color);
printf("%c", pNODE->val);
}
putchar ('n');
return 0;
}
版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明!