在我的程序中,我读入了一个文件(这里只有一个大约 200k 数据点的测试文件,之后会有数百万个数据点。)现在我要做的是:
for (int i=0;i<n;i++) {
fid.seekg(4,ios_base::cur);
fid.read((char*) &x[i],8);
fid.seekg(8,ios_base::cur);
fid.read((char*) &y[i],8);
fid.seekg(8,ios_base::cur);
fid.read((char*) &z[i],8);
fid.read((char*) &d[i],8);
d[i] = (d[i] - p)/p;
z[i] *= cc;
}
其中 n 表示要读入的点数。
之后我再次用
for(int i=0;i<n;i++){
fid.write((char*) &d[i],8);
fid.write((char*) &z[i],8);
temp = (d[i] + 1) * p;
fid.write((char*) &temp,8);
}
从而写入比读取快。(用clock_t测量的时间)
我的问题是现在。我在阅读时犯了一些相当愚蠢的错误,还是可以预料到这种行为?
我正在使用带有磁驱动器的 Win XP。
你的magu_