Hallo zusammen,
ich bin am verzweifeln, ich soll Objekte aus einer abgeleiteten Klasse
die sich in einer STL liste befinden, in eine binär Datei speichern.
Problem dabei, die Objekte haben unterschiedliche Datentypen, wie: int,
float, bool.
Nun muss ich diese Objektdaten in eine binärdatei speichern und
anschließend wieder laden und gleichzeitig wieder in eine Liste
speichern.
Mein Problem ist das speichern der Daten.
Wie kann ich die Daten aus dem Objekt in eine binäre Datei speichern und
dann wieder laden? Ich habe ja mehrere unterschiedliche Variablentypen.
PS: Ich poste hier nur code stücke.
Ich habe folgendes versucht:
Das ist die Liste mit Iterator:
1 | list<DATA*> value;
|
2 | list<DATA*>::iterator ptr;
|
DATA ist die Basisklasse.
Hier versuche ich die Objekte aus der Liste "value" in die Datei zu
speichern.
1 | ofstream outputstream("test.dat", ios::binary);
|
2 | outputstream.write((char*)&value, sizeof(value));
|
3 | outputstream.close();
|
4 |
|
5 | Hier wieder zu lesen:
|
6 |
|
7 | ifstream inputstream("test.dat", ios::binary);
|
8 | inputstream.read((char*)&value, sizeof(value));
|
9 | inputstream.close();
|
Funktioniert nicht.
Wie kann man sowas machen?