zoukankan      html  css  js  c++  java
  • 访问txt文本文件查找特定字符串,找到所有字符串的首地址

    #include <stdio.h>
    #include <string.h>
     
    int main(){
    	
      char *token = "she";
      FILE *fp = fopen("test.txt","a+");
      char buf[1024];
      char *p;
      int s=-1,len=strlen(token),line=0;
     
      while(!feof(fp)){                 //feof()是文件结束检测函数,若结束了返回1,否则为0 
        fgets(buf,sizeof(buf),fp);
        line ++;  
        p = buf;
        while(p)
    	{
          if(*p==token[0] && s==-1){
            s = 0;
          }else if(*p==token[s+1]){         //用S统计当前满足符合查找字符的位置,一旦查找完一个字符,立马让s=-1,进行下一轮查找 
            s ++;
          }else{
            s = -1;
          }
     
          p++;
          if(s==len-1){
            printf("(%d,%d)
    ",line,p-buf-len+1);   //(p-buf)是指针p相对于buf首地址的偏移量,要确定查询字符首部的位置,还需要减去字符长度
            //s=-1;
          }
        }
        s=-1;
      }
    }
    

     test.txt内容如下:

    运行结果:

  • 相关阅读:
    android Textview动态设置大小
    小米1plus MIUI RadioButton的问题
    快读
    高精集合
    清北学堂part2
    清北学堂part1
    OTZ%%%子谦。大佬
    筛质数大优化
    回文日期
    高精度加法
  • 原文地址:https://www.cnblogs.com/victorywr/p/13503306.html
Copyright © 2011-2022 走看看