Umgehen des Serialisierungsmechanismus

Wie Sie gesehen haben, bietet das Framework eine Standardeinstellung zum Lesen und Schreiben von Daten in und aus Dateien. Serialisieren durch ein Archivobjekt entspricht den Anforderungen einer großen Anzahl von Anwendungen. Eine solche Anwendung liest eine Datei vollständig in den Arbeitsspeicher, ermöglicht es dem Benutzer, die Datei zu aktualisieren, und schreibt dann die aktualisierte Version erneut auf den Datenträger.

Einige Anwendungen funktionieren jedoch sehr unterschiedlich, und für diese Anwendungen ist die Serialisierung über ein Archiv nicht geeignet. Beispiele sind Datenbankprogramme, Programme, die nur Teile großer Dateien bearbeiten, Programme, die Nur-Text-Dateien schreiben, und Programme, die Datendateien freigeben.

In diesen Fällen können Sie die Serialisierungsfunktion auf eine andere Weise außer Kraft setzen, um Dateiaktionen über ein CFile-Objekt anstelle eines CArchive-Objekts zu vermitteln.

Sie können die OpenKlassenfunktionen , Read, Write, Closeund Seek Memberfunktionen der Klasse CFile verwenden, um eine Datei zu öffnen, den Dateizeiger (Suchen) auf einen bestimmten Punkt in der Datei zu verschieben, einen Datensatz (eine angegebene Anzahl von Bytes) zu diesem Zeitpunkt zu lesen, dem Benutzer das Aktualisieren des Datensatzes ermöglichen und dann denselben Punkt erneut suchen und den Datensatz wieder in die Datei schreiben. Das Framework öffnet die Datei für Sie, und Sie können die GetFile Memberfunktion der Klasse CArchive verwenden, um einen Zeiger auf das CFile Objekt abzurufen. Für noch anspruchsvollere und flexiblere Verwendung können Sie die OnOpenDocument- und OnSaveDocument-Memberfunktionen der Klasse CWinAppüberschreiben. Weitere Informationen finden Sie unter "Class CFile " in der MFC-Referenz.

In diesem Szenario führt Ihre Serialize Außerkraftsetzung nichts aus, es sei denn, Sie möchten sie lesen und schreiben, um sie auf dem neuesten Stand zu halten, wenn das Dokument geschlossen wird.

Siehe auch

Verwenden von Dokumenten