C语言怎么修改文件信息?

比如我先往文件f1里输入了301 01 xiaoming m,的信息,要怎么样才可以把这些后两个信息单独修改掉。
大一的c语言程序作业,拜托大佬帮帮忙

#include<stdio.h>

#include<stdlib.h>//文件操作函数头文件

struct st{//定义一个结构体 

char a[11];//301

char b[11];//01 

char c[29];//xiaoming

char d[9];//m1

}; 

int main()

{

FILE *fp;//文件指针 

fp=fopen("D:\\123.txt","r+");//用fopen函数打开D盘下,名为123.txt的文件; 

struct st s={"301","01","xiaoming","m"};//各成员的初值;

scanf("%s%s",s.c,s.d);//输入之后会把原有的信息覆盖掉;

fprintf(fp,"%s %s %s",s.a,s.b,s.c,s.d);//用fprintf函数将固定格式的数据写入文件; 

printf("%s %s %s %s",s.a,s.b,s.c,s.d);

fclose(fp);

return 0;

/*这样就可以修改文件内容了,之前没仔细看,没看到是文件操作*/

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-19
把文件里面数据读出来,在内存里面改掉,再把改后的数据写回去
c操作文件没有修改的方式,只有追加,不过也不适合你的需最常用的就是这样,先读,改 再重写
相似回答