你好在c的代码中找到txt文件中的字符串 我的代码有多少次从第一个字符中找到了字符串和pos 但是当我找到字符串时,我想要在txt文件中使用颜色 但我不知道我怎么能这样做 代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main()
{
FILE*fp;
char fname[100];
char data[20];
char choice;
char key[10];
char*ptr;
int counter=0;
int pos_start;
printf("Program start-up....\n");
printf("Enter file name: ");
gets(fname);
fp=fopen(fname,"r");
if (fp==NULL)
{
printf("Error:File can not be opened\n");
printf("program closed...\n");
exit(1);
}
printf("File is opened successfully\n");
printf("Do you want search for string(y/n)");
scanf(" %c",&choice);
while ((choice!='y') && (choice!='n'))
{
printf("Do you want search for string(y/n)");
scanf(" %c",&choice);
}
if (choice=='n')
{
printf("Search cancelled\n");
printf("Program closed...\n");
exit(1);
}
if (choice=='y')
{
printf("Search start-up...\n");
printf("Please insert word: ");
scanf("%s",key);
while(!feof(fp))
{
fgets(data,sizeof(data),fp);
ptr = strstr(data,key);
while(ptr!=NULL)
{
counter++;
pos_start=(ptr-data);
printf("Position: %d\n",pos_start);
ptr= strstr(ptr+1,key);
}
}
}
if (counter==0)
printf("Word not found\n");
if(counter>0)
printf("Word: %s found: %d times\n",key,counter);
printf("Search end\n");
printf("Progarm closed...\n");
fclose(fp);
return 0;
}
答案 0 :(得分:0)
你不能,文本文件是一个文本文件,它只包含字符,没有任何格式(颜色,字体等......)
您可能希望查看输出的其他文本文件格式,例如:HTML。
编辑:
如果要将结果输出到控制台而不是文件,某些终端支持ANSI colors code。由于它是偏离主题的(您要求编写文件),您可以参考this SO question在终端上打印颜色。