Array serialisieren
-
Hallo zusammen, kann man in der Serialize-Funktion, auch ganze Arrays: CString s[100]; mit einer for-Schleife, speichern ? for (int i=0; i<100; i++) ar << s[i]; oder kann man es einfacher machen, zB ar << s;
-
CStringArray kann das...
Mit einem puren Array geht das nicht.Tipp: Wenn Du so serialisierst, solltest Du die Array Größe die folgt zuerst rausschreiben... das konnte bei späteren Versionsupdates helfen.
-
Welche Klassen, kann man wie CStringArray serialisieren ?
-
Sind es alle Klassen, die von CObject abgeleitet sind ? Arrays, Lists und Maps ?
-
Wenn ich nun einen Baum erstelle, mit Funktionen wie Einfügen, Suchen usw, wie
serialisiere ich den ? Ich kann ihn durchlaufen und die Knoten-Einträge: ar << Eintrag; aber wie serialisiere ich den zurück ? CArchive prüft nicht auf eof. Da fällt mir ein, ich könnte ja beim Speichern die Anzahl der Einträge zählen, und beim Laden, nur soviel Eintrage lesen wieviel ich gespeichert habe. Martin, wie würdest Du das machen ?
-
Brauchst Du auch nicht.
Ein b-Baum könnte man wie folgt serialisieren (Psuedocode)ArchiveNode { Schreibe Anzahl Knoten for (thisNode : alleKnoten) ArchiveNode(thisNode); } UnarchiveNode { Lese Anzahl Knoten for (Zähler<KnotenZahl) { CreateNewNode UnarchiveNode(newNode); AddNodeToCurrentSTruct(newNode) } }
Das schöne ist, ja dass der Steram eigentlich alles ergibt. Du achtest nicht auf EOF sondern gibst immer mit wieviele Elemente kommen.
-
Danke Martin !!!