| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1930 人关注过本帖
标题:关于结构体文件操作
只看楼主 加入收藏
育帝
Rank: 2
来 自:黑龙江哈尔滨
等 级:论坛游民
帖 子:75
专家分:43
注 册:2016-10-16
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:11 
关于结构体文件操作
如何将一个文件中好几个的结构体数据的其中一个更新。
或者改变其结构体中的某一个只重新写入文件。
运用发fwrite和fread实现。。。急。。。。
谢谢谢。
简单来说就是如何在文件中的两个结构体数据之间再增添一个结构体数据。


[此贴子已经被作者于2017-3-12 18:58编辑过]

搜索更多相关主题的帖子: 结构体 如何 
2017-03-12 13:05
qdcs
Rank: 6Rank: 6
等 级:侠之大者
威 望:5
帖 子:171
专家分:458
注 册:2016-12-22
收藏
得分:0 
文件中是什么?是一个文本文件还是c程序文件

我是硬件工程师
2017-03-12 13:09
育帝
Rank: 2
来 自:黑龙江哈尔滨
等 级:论坛游民
帖 子:75
专家分:43
注 册:2016-10-16
收藏
得分:0 
回复 2楼 qdcs
文件是一个结构体数据
二进制文本。

育帝
2017-03-12 13:12
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
用fseek(),ftell(),不然只能全部读出来,修改后再全部写进去。

[此贴子已经被作者于2017-3-12 14:01编辑过]

2017-03-12 13:59
育帝
Rank: 2
来 自:黑龙江哈尔滨
等 级:论坛游民
帖 子:75
专家分:43
注 册:2016-10-16
收藏
得分:0 
回复 4楼 ehszt
我用了啊,但是把原数据擦掉了
void saving(int k)//存款
{
    double cash;
    Use buf,p;
    FILE *fp;
    fp=fopen("file.dat","rb");
    fread(&buf,sizeof(Use),1,fp);
    fseek(fp,(long)(k-1)*Len,SEEK_SET);
    printf("\n原先有%lf",buf.cash);
    printf("请输出你要存入的金额:");
    scanf("%lf",&cash);
    buf.cash+=cash;
    printf("\n存入后%lfs",buf.cash);
    fclose(fp);
    printf("%s %s %s %lf %hd %d",buf.number,buf.name,buf.password,buf.cash,buf.mark,buf.k);
   p=buf;
    fp=fopen("file.dat","wb");
    fseek(fp,(long)k*Len,SEEK_SET);
    fwrite(&p,sizeof(Use),1,fp);
    fclose(fp);
}

育帝
2017-03-12 14:30
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:10 
fp=fopen("file.dat","wb");这里改成wb+呢?
错了,应为rb+

[此贴子已经被作者于2017-3-12 14:51编辑过]

2017-03-12 14:40
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
fp=fopen("file.dat","rb+");
2017-03-12 14:46
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1745
专家分:3216
注 册:2015-12-2
收藏
得分:0 
楼上正解,刚试过了。wb+是创建,原有的内容就没了。
2017-03-12 14:51
育帝
Rank: 2
来 自:黑龙江哈尔滨
等 级:论坛游民
帖 子:75
专家分:43
注 册:2016-10-16
收藏
得分:0 
回复 8楼 ehszt
恩,我的意思就是我把文件中的其中一个结构体中的数据给改了,而且结构体的位置不变。

育帝
2017-03-12 15:03
育帝
Rank: 2
来 自:黑龙江哈尔滨
等 级:论坛游民
帖 子:75
专家分:43
注 册:2016-10-16
收藏
得分:0 
回复 9楼 育帝
嗯。。我试过了,存不进去啊。。。

育帝
2017-03-12 17:26
快速回复:关于结构体文件操作
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.071975 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved