zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    Linux系统管理上机作业2
    Linux系统管理上机作业1
    作业
    作业
    作业2
    作业
    作业
    第三章
    第二章
    第一章:计算机网络参考模型
  • 原文地址:https://www.cnblogs.com/daomul/p/2726951.html
Copyright © 2011-2022 走看看