【发布时间】:2013-02-20 10:14:56
【问题描述】:
// 数组值是经过几次计算后设置的
long int a1[356];
long int b2[356];
long int c3[356];
//写入二进制文件
ofstream output("h.h",ios::binary|ios::out|ios::app);
output.write((char*)a1,356*4);
output.write((char*)b2,356*4);
output.write((char*)c3,356*4);
//读作
long int *x=new long int[1424];
ifstream in("h.h",ios::binary|ios::in);
in.read((char*)x,1424);
vector<long int> e1;
vector<long int> e2;
vector<long int> e3;
for(int y=;y<=1424;y=y+4)
{
// e1.push_back((int)x[i]);
}
我正在使用上述方法读取写入二进制文件的整数,但无法检索存储的值。 .谁能指出问题出在哪里?
谢谢!
【问题讨论】:
-
请记住,
long int的大小实际上可能与 4 不同。请使用sizeof(long int)。 -
你正在使用 ios::app 来追加数据,你确定你没有读取旧数据吗?
-
我很清楚为什么我想要 ios::app。
-
我是在检查尺寸后才使用它-@Joachim