永发信息网

c中修改文件中的指定内容

答案:2  悬赏:0  手机版
解决时间 2021-03-28 08:34
c中修改文件中的指定内容
最佳答案
char str[20],newbrand[10];
fp=fopen("goods","r+");

for(i=0;i<20;i++)//先读取全部
fscanf(fp,"%s %s %d
",goods[i].brand,goods[i].id,&goods[i].storage); 

scanf("%s",str);//输入要修改的id
rewind(fp);
for(i=0;i<20;i++)
{
if(strcmp(str,id)==0)//匹配id,将brand修改为newbrand,然后写入文件
{
scanf(" %s",newbrand);
fprintf(fp,"%s %s %d
",newbrand,goods[i].id,goods[i].storage);
}
 
else fprintf(fp,"%s %s %d
",goods[i].brand,goods[i].id,goods[i].storage);
//其它不用修改的原样写会文件
}
fclose(fp);
全部回答
#include 
#include 
#define MAXSIZE 200
struct item {
char brand[20];
char id[10];
int storage;
}goods[MAXSIZE];
int main() {
int n = 0;
char id[20];
struct item t;
FILE *fp = fopen("data.in","r+"); // 假定data.in是以fwrite()函数写入的
if(fp == NULL) {
printf("无法打开文件。 ");
return 1;
}
printf("待修改商品编号: ");
scanf("%s",id);
while(fread(&t,sizeof(struct item),1L,fp) == 1) {
if(strcmp(t.id,id) == 0) {
printf("%s改为: ",t.brand);
scanf("%s",t.brand);
fseek(fp,-(long)sizeof(struct item),SEEK_CUR); // 移动指针到当前记录的首部
fseek(fp,0L,SEEK_CUR); // 改换文件的读/写状态
fwrite(&t,sizeof(struct item),1L,fp); // 内容覆盖
break;
}
}
fclose(fp);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
气温-5℃比0℃低()℃。海拔-125m比海面低()m?
在目前使用的rip协议中,通常使用以下哪个参
oppo和vivo两种手那个牌子好
尾号,四连号的十元人民币有价值吗?
请问,him,I,you,she,he,we,they,it的宾格是
碱基和嘌呤有什么区别
瘦人健身后效果怎么样介绍瘦人健身防止越来越
红缨幼儿园(白城镇赉县)地址有知道的么?有点
请问社会上有保护妇女的部门吗
这个饼干是什么牌子的
正宗沂蒙山炒鸡配方是什么?
10/19除以(3/7)除以(15/38)简算
承德普通旅馆平均价现在大概多少啊,离山庄较
哪几位是等妙觉菩萨
我们学院要办一个班级风采展示大赛,求几个比
推荐资讯
绎,羿,御,羽,煜,这几个字哪个字做名字中
有谁知道IBM China band6 开发的薪水是多少的
手机屏幕有几个划分
在外打工一年交的五险一金怎样成现钱,会少多
化粪池应按每人多大设计
阳台双层玻璃窗户向外平开刮风会掉么?危险性
安装活塞时缸体下面会被导具压伤如何解决
PSP怪物猎人3强纫的胸膜怎么弄?
素质报告单请问素质报告单可以自己修改么
请问现在言和有师傅吗?
有会spss的大神吗
动物和人体不能利用无机物直接制造有机物,只
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?