使用fstream写入和读出数据时要注意起始位置(也可能只有俺这种小白不会注意,调了两天T_T)

本文通过一个编程实例展示了在C++中使用fstream进行数据读写时,需要注意文件指针的位置。作者在尝试读取之前写入的数据时遇到了问题,发现是因为在读取时没有正确设置文件指针到开始位置,导致读取到的数据为空。通过调整`seekg(0, ios::beg)`确保从文件头部开始读取,成功解决了问题。" 107843083,8731881,隐私计算与区块链:分级诊疗数据共享新方案,"['大数据', '区块链', '人工智能', '数据安全', '医疗信息化']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前没用过fstream(说实话刚开始编程,很多东西都没用过),模块里有一部分要把数据保存下来,但为了确定保存的数据正确,就像再加一段把数据读出来看,保存的文件用python查看是对的,但用c++解析死活不对,值总是空的,最后发现是读取的位置错了。代码如下:
fstream wfile;
fstream wfile2;
wxString filename;
vector temp;
cout<<“meanpower len is”<<vMeanPower.size()<<endl;
if (b_BoundaryStyle){
filename = wxString(xxx);
wfile.open(filename.ToStdString().c_str(),ios_base::in|ios_base::out|ios_base::app);//这里的app意思是接着读写,改成ios_base::trunc就可以把内容清空再写
double tmp = new double[vMeanPower.size()];
memcpy((double
)tmp, (double*)&vMeanPower[0],
vMeanPower.size()sizeof(double));//把MeanPower中的数据copy到数组tmp里,复制的都是些字节有sizedouble长度那么多,这里用的引用,应该不占内存(猜的,代码我抄别人的T_T)
wfile.write((char*)tmp,vMeanPower.size()sizeof(double));//把刚才一堆字节的tmp写到文件里
wfile.close();
wfile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值