有关C语言 二进制文件写入和读取

CLASSclass;//CLASS是定义的结构体类型CLASSclass;……二进制文件已创建成功fwrite(&class,sizeof(CLASS),1,fp);…... CLASS class;//CLASS是定义的结构体类型
CLASS class;

……二进制文件已创建成功
fwrite(&class, sizeof(CLASS), 1, fp);
……
fread(&classtwo, sizeof(CLASS), 1, fp);
……

数据确实存入了二进制文件,但无法读取成功。我记得可以直接按结构体读写,这里为什么不可以?

请教前辈!
展开
 我来答
百度网友349d18b
2012-12-26 · TA获得超过444个赞
知道小有建树答主
回答量:571
采纳率:50%
帮助的人:362万
展开全部
不知道你的fwrite和fread中间有什么代码,fwrite后,文件指针指向末尾,这时读是读不到东西的,必须使用fseek将指针移到最前面或是关闭文件后再重新打开。
追问
写入后关闭了文件,再打开重新读,还是不对。
追答
从你提供的代码看是肯定没问题的,你最好是单步调试观察数据确定到底是哪个语句出现了问题。
duanjilei888
2012-12-26 · TA获得超过118个赞
知道答主
回答量:253
采纳率:0%
帮助的人:136万
展开全部
路过
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dfdglei
2012-12-26 · TA获得超过1195个赞
知道小有建树答主
回答量:747
采纳率:100%
帮助的人:740万
展开全部
试试 fread((char*)&classtwo, sizeof(CLASS), 1, fp);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Jaxenix
2012-12-26 · TA获得超过149个赞
知道答主
回答量:93
采纳率:0%
帮助的人:98.3万
展开全部
是不是没用fseek函数, 或者重新打开
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式