从文件中读取结构体

1个回答
展开全部
摘要 打开APPc++从文件读取结构体整体 原创目标:仅仅从某一文件读取一次,就能对结构体的整体完成赋值。而不是每次提取一个数据,再赋值给结构体的某一元素,然后循环,显得麻烦原理:无论是结构体还是结构体数组在内存都是连续地址的内容,只是中间会有填充内容,以达到对齐的效果。但如果我们将数据连同填充一起写入文件,这样相当于把地址空间copy了一份到文件中,读的时候再copy回来,不就完成了整个结构体的读取了吗。这样就不用考虑常规方法中解析文件内容等问题。#include #include #include #include using namespace std;struct MyStruct{ int id; char name[20]; float score;
咨询记录 · 回答于2023-03-02
从文件中读取结构体
打开APPc++从文件读取结构体整体 原创目标:仅仅从某一文件读取一次,就能对结构体的整体完成赋值。而不是每次提取一个数据,再赋值给结构体的某一元素,然后循环,显得麻烦原理:无论是结构体还是结构体数组在内存都是连续地址的内容,只是中间会有填充内容,以达到对齐的效果。但如果我们将数据连同填充一起写入文件,这样相当于把地址空间copy了一份到文件中,读的时候再copy回来,不就完成了整个结构体的读取了吗。这样就不用考虑常规方法中解析文件内容等问题。#include #include #include #include using namespace std;struct MyStruct{ int id; char name[20]; float score;
对文件内容进行修改,必须通过write()方法,而不能直接打开文件里改,不然会乱码
就是这个题,3天了,就是无法读出
请问一下你在吗
上软件试了吗 提示什么
问题所在:栈的默认内存空间为1M左右,所以会导致内存溢出。也就是数组定义的太大了。解决方法:声明成全局或static的,这两种变量不压栈。代码:把数组声明为static,就没有问题了
老师不允许用没学过的知识
只能用这个解
您这个是Process returned-1073741571 错误代码
好吧,请问您能帮我打出来吗?我做个参考,行吗?我不能再发信息了,有条数限制
您可以点击您页面上方的咨询服务,比如选择6轮图文咨询或者无限轮图文咨询服务继续咨询。也可以选择下方的语音咨询服务 购买后我可以给您拨打语音电话。
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

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

说明

0/200

提交
取消