C语言怎么修改txt文件中的一行数据

C语言怎么修改txt文件中的一行数据,第1张

关于这个问题,本人也没有什么好的方法。

提个建议:首先将后100个字符读入数组,内存访问肯定比文件访问要快

就是这块:

do

{

fscanf(fp,"%c",&mm) //逐行扫描

}

while(mm!='\n') //判断倒数第二行的换行符

另外若想改进,个人感觉文件的磁盘访问本身就很慢,可以考虑在文件不大时直接用一些内存 *** 作

以r方式打开文件,用fgets()读取一行字符001/xxxxxxxxx/

用strchr找到第一个/出现的位置

将此位置之后的内容覆盖为你要修改的内容,并加上/以及结束标记'\0'

关闭文件,然后重新以w方式打开文件,文件内容会被自动清空

用fputs将修改后的字符串写入文件

关闭文件

1、用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。

2、例程:

#include<stdio.h>

#include<string.h>

void main()

{

  char a[100],b[100],c[100]

  int i=3,j=4,k=0    //第三行,第四列

  FILE *fp = fopen("data.txt","r")

  while(fgets(c,100,fp)){    //读入每行数据

    i--

    if(i==0) strcpy(a,c)    //读到第三行数据

    b[k++]=c[j-1]        //把每行的那列字符拷到b中

  }

  b[k]=0

  printf("第%d行数据:%s\n",i,a)

  printf("第%d列数据:%s\n",j,b)

  fclose(fp)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8066937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存