2012-03-26 7 views
1

Ich versuche, einen Code zu schreiben, wo ich die Zwischenergebnisse in einer Datei für späteren Abruf speichern muss. Zum Beispiel muss ich alle Werte in einem 3D-Array in einer Datei mit den Dimensionen speichern und das Array später zur späteren Verwendung abrufen. Gibt es eine Möglichkeit, das Objekt für die spätere Verwendung durch Speichern in einer Datei zu erhalten. Zum Beispiel ....Können wir ein Objekt zum späteren Abruf in einer Datei speichern?

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; 

Schauen Sie nicht zu viele Details im Codeausschnitt. sein nur ein Beispiel ..

Dank ... Ich denke, es eine andere denkt, ist binäre Serialisierung genannt ...

+2

möglich Duplikat von [Wie Serialisierung in C++ zu implementieren] (http://StackOverflow.com/Questions/1809670/How-to-Implement-Serialization-in-C) –

+0

Wie gut ist, binäre Serialisierung zu verwenden ??? Ich benutze viele Hinweise im Inneren .... – howtechstuffworks

+0

Schlechte Phrasierung und ein exaktes Duplikat von älteren Fragen. Ich empfehle, nach ähnlichen Themen zu suchen, da dies bereits beantwortet wurde. –

Antwort

1

es in der Tat Serialisierung genannt wird. Am besten erfinden Sie das Rad nicht neu. Verwenden Sie stattdessen Boost.Serialization.

-1
ofstream file("some_file.bin", ios::binary); 
file.write(array, sizeof(array)); 
file.close();