Hallo liebe Leute, ich bin erst jetzt über die Funktionen read() und write() bei File-I/O gestossen. An für sich ist das ja sehr komfortabel, wenn man ganze Klassen einfach so in eine binäre Datei rausschreiben kann. Jetzt ist aber leider auch bemerkenswert, dass in der Klasse befindliche Container (wie auch Strings) nicht mit abgespeichert werden. Habt ihr da eine Lösung oder muss ich jetzt doch von Hand arbeiten? Ist die Frage klar genug gestellt?
Das liegt daran das der Container intern Zeiger verwendet. Wenn du einen Zeiger mit write speichern willst wird nur die aktuelle adresse gespeichert. Wenn du das ganze nun wieder lädst und dann an der zuvor gespeicherten Adresse nach dem Container sucht dann wird da mit ziemlicher sicherheit ein anderer Inhalt sein. -- "Zwei Dinge sind unendlich: Das Universum und die menschliche Dummheit. Aber beim Universum bin ich mir nicht ganz sicher." - Albert Einstein www.blue-xenon.de.vu
@BoBtheREapER Ich glaub das hat er schon verstanden.
@flappinski Ich denke mal, dass musst du schon selbst machen. Könntest ne extra Methode für deine Klasse schreiben, die den Gesamten Inhalt in Form eines Strings ausgibt. Den kannste dann abspeichertn. Das gleiche brauchst du dann noch mal rückwärts zum Einlesen. Fachsprachlich heißt das glaub ich Serialisieren und Deserialisieren.