2012-03-26 6 views
1

コードを書き込もうとしていますが、中間結果を後で取得するためにファイルに保存する必要があります。たとえば、3D配列のすべての値をファイルに格納し、次元を使用して後で使用するために配列を取得する必要があります。ファイルに保存することで、後で使用するためにオブジェクトを保存できる方法はありますか?例... ....オブジェクトを後で取得できるようにファイルに保存できますか?

class Obj { 
}; 

Obj ***array; 
//declare and initialize the 3d Array. 
. 
. 
. 
//do some modifications 
. 
. 
. 
. 
write the object in the file 
ofstream file; 
file.open("some_file.txt"); 
file<<array; 
. 
. 
. 
end program. 

reopen another program 
ifstream file; 
file.open("some_file.txt"); 
Obj *another_array; 
file>>another_array; 

コードスニペットで詳細を見ないでください。 その一例に過ぎ...

おかげで... 私は別のそれが実際にシリアライズと呼ばれています

+2

[C++でシリアル化を実装する方法](http://stackoverflow.com/questions/1809670/how-to-implement-serialization-in-c) –

+0

バイナリの直列化を使用するとよいですか?私は内部にたくさんのポインタを使用しています.... – howtechstuffworks

+0

貧弱な言い回しと古い質問の正確な重複。私はこれまでに答えられているので、同様のトピックについてはSOを検索することをお勧めします。 –

答えて

1

...バイナリシリアルと呼ばれると思うがあると思います。あなたは車輪を再発明しないのが最善です。代わりにBoost.Serializationを使用してください。

-1
ofstream file("some_file.bin", ios::binary); 
file.write(array, sizeof(array)); 
file.close(); 
関連する問題