0

空間 (3D ポイント) を移動するボールのコードを C++ でプログラムしました。私はすべての動きの位置を持っています。つまり、通過したすべてのパスポイントです。

すべての位置\ポイントをバイナリ ファイルに書き込み、それを読み取って移動\パスを復元する必要があります。たとえば、ボールを上下に動かした場合、ボールが通過したすべての位置を保存して、それらを読み取ってボールを同じように動かし、パスを復元できるようにします。

バイナリ ファイルの例を見ましたが、あまり意味がありません。

 // 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) の書き込みと読み取りについてはどうでしょうか。バイナリバイトで書き込む必要がありますか? またはポイントとして、ファイルはバイナリになります..?

4

1 に答える 1

1

ポイント (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 << ';';
于 2013-07-25T12:18:41.070 に答える