[英]how to write and read points to binary file?
我已经用C ++编写了一个在空间中移动(3D点)的球的代码。 我有所有的动作位置。 我的意思是,它通过的所有路径点。
我必须将其所有位置\\点写入二进制文件,然后将其读取以恢复移动\\路径。 例如,如果我左右移动球,我想保存它过去的所有位置,这样我就可以阅读并绘制相同的球,恢复其路径。
我看到了一个二进制文件的示例,但是对我来说并没有多说:
// reading a complete binary file
#include <iostream>
#include <fstream>
using namespace std;
ifstream::pos_type size;
char * memblock;
int main () {
ifstream file ("example.bin", ios::in|ios::binary|ios::ate);
if (file.is_open())
{
size = file.tellg();
memblock = new char [size];
file.seekg (0, ios::beg);
file.read (memblock, size);
file.close();
cout << "the complete file content is in memory";
delete[] memblock;
}
else cout << "Unable to open file";
return 0;
}
它会自动创建文件吗? 那么在哪? 读写点(X,Y,Z)又如何呢? 我应该通过二进制字节写吗? 或以磅为单位,文件将其制成二进制文件。
您可以将点(X,Y,Z)写入二进制文件,例如用冒号分隔坐标,并用分号分隔点:
int X=10, Y=12, Z=13;
ofstream outfile("points.bin", ios::binary);
if (!outfile)
cerr << "Could not open a file" << endl;
else
outfile << X << ','
<< Y << ','
<< Z << ';';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.