繁体   English   中英

如何写入和读取二进制文件的点?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM