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 }

 

你可能感兴趣的:(操作文件)