• C 在文件指定位置更新数据


    #include<stdio.h>
    #include <stdlib.h>
    
    char * read(FILE *fp) /*注意这里,将fp文件中的剩余部分读取到一个字符数组中,并返回数组地址*/
    {
     char c,*t=NULL;
     int i=0;
     t=malloc(sizeof(char));
     while ((c=fgetc(fp))!=EOF)
        {
        t[i++]=c;
        t=realloc(t,sizeof(char)*(i+1));
        }
     if (i) t[i]='';
     else {
      free(t);
      t=NULL;
     }
     return t;
    }
    void write(FILE *fp,const char *t)/*注意这里,将read()()函数读取的内容写入fp文件中的当前读写位置*/
    {
     int i;
     for (i = 0; t[i]; i++) {
      fputc(t[i],fp);
     }
     free(t);
    }
    void main()
    {
     int i;
     char c;
     char *t; /*注意这里*/
     FILE *fp;
     fpos_t ps; /*注意这里,用于记录文件的读写位置*/
     fp=fopen("E:/te.txt","r+");
     while ((c=fgetc(fp))!=EOF) /*注意这里*/
     {
      if (c==' ')
      {
     fgetpos(fp,&ps);    /*注意这里*/
     t=read()(fp);         /*注意这里*/
     fsetpos(fp,&ps);    /*注意这里*/
     fseek(fp,-1*sizeof(c),SEEK_CUR); /*注意这里*/
     for(i=0;i<12;i++)
     fputc('	',fp);     /*注意这里*/
     fgetpos(fp,&ps);    /*注意这里*/
     write(fp,t);        /*注意这里*/
     fsetpos(fp,&ps);    /*注意这里*/
    
      }
     }
     fclose(fp);
    }
    

      

  • 相关阅读:
    RedisPlugin
    微信、支付宝授权与支付
    在手机上预览h5项目
    localStorage
    fluter中json的处理
    flutter路由
    一个类实现多个接口
    抽象类、接口
    dart中的类
    方法
  • 原文地址:https://www.cnblogs.com/huazhen/p/3511811.html
Copyright © 2020-2023  润新知