Speichern von dynamischen Listen
-
Hallo Forenmitglieder,
ich suche nach einer Möglichkeit, mit der ich eine doppelverkettete dynamische Liste in einer Datei speichern und wieder auslesen kann. Dabei sieht ein Listenelement grob so aus:
struct KastenListe::Kasten { string szIdentifier; int iNumber; Kasten *next; Kasten *last; };Jedoch verträgt sich das Datenspeichern nicht mit den Pointern. Grundsätzlich würde ich gerne die Liste komplett in einer Datei speichern, dann wieder ins Porgramm laden und damit arbeiten (Elemente einfügen, löschen usw.). Kann man das irgendwie realisieren, oder kennt ihr eine geschicktere Methode?
Vielen Dank im Voraus.
Mister_J
-
Die Zeiger zu speichern macht nicht viel Sinn.
Speichere einfach lediglich die Daten und dann füllst die die Liste beim laden halt wieder und machst auch die Verknüpfungen. In der Datei ist ja dann alles der Reihe nach.
-
Mister_J schrieb:
Grundsätzlich würde ich gerne die Liste komplett in einer Datei speichern, dann wieder ins Porgramm laden und damit arbeiten (Elemente einfügen, löschen usw.). Kann man das irgendwie realisieren, oder kennt ihr eine geschicktere Methode?
std::list nehmen, statt selbst eine liste zu stricken.
beim speichern dann zuerst die anzahl der elemente speichern, dann jedes element der reihe nach. beim laden umgekehrt: anzahl lesen, soviele elemente laden und jeweils nacheinander in die liste packen.