c 操作文件:实现关键词搜索
实现对以下英文文本的关键词查找。
支持如下形式调用:search.exe input.txt keyword
输出:关键词首次出现位置
若实现通配符查找有加分(若实现了在文档中说明)
1 #include "stdio.h" 2 #include "string.h" 3 #include "stdlib.h" 4 #include "conio.h" 5 6 void main(int argc,char **argv) 7 { 8 int MyCount; //文件字符总数 9 int i=0,j; 10 int m=0,n=0; //行数m,每行的数目n 11 FILE *fp; 12 char word[5000]; //储存文本字符数组 13 14 char str[20]; //关键字 15 bool flag; //查找标志 16 17 char *Keyword; 18 char *input; 19 if(argc<3){ 20 input="input.txt"; 21 Keyword="1234"; 22 23 }else{ 24 input=*(argv+1); 25 Keyword=*(argv+2); 26 } 27 28 if((fp=fopen("input.txt","r"))==NULL) 29 { 30 printf("cannot open file.\n"); 31 exit(0); 32 } 33 while(!feof(fp)) //读写字符 34 { 35 word[i]=fgetc(fp); 36 putchar(word[i]); 37 i++; 38 39 } 40 MyCount=i; 41 42 printf("\n请输入关键字 :");//输入关键字 43 scanf("%s",str); 44 for(i=0;i<MyCount;i++,n++) 45 { 46 flag=true; 47 48 if(word[i]=='\n') 49 { 50 m++; 51 n=0; 52 } 53 for(j=0;str[j]!='\0';j++)//匹配 54 if(str[j]!=word[i+j]) 55 { flag=false; 56 break; 57 } 58 if(flag==true) 59 { 60 printf("\n关键字 %s 在文本里面 %d,第 %d 个 字符串.\n",str,m,++n); 61 break; 62 } 63 } 64 getch(); 65 66 }