Umgehen des Serialisierungs-Mechanismus
Wie Sie gesehen haben, stellt das Framework eine Standardmethode, Daten in und von Dateien zu lesen und zu schreiben.Das Serialisieren von einem Archiv Objekt entspricht einem großen Anforderungen von vielen Anwendungen.Eine solche Anwendung liest eine Datei vollständig im Arbeitsspeicher, kann der Benutzer die Datei aktualisieren und schreibt dann die aktualisierte Version wieder auf den Datenträger.
Allerdings können einige Anwendungen mit Daten sehr unterschiedlich ausgeführt werden, und für diese Anwendungen ist die Serialisierung durch ein Archiv nicht geeignet.Beispiel einschliessungs-Datenbank programme, Programme, die nur Teile große Dateien, Programme, die nur für TEXT Dateien bearbeiten und Programme schreiben, die Datendateien enthalten.
In diesen Fällen können Sie die Serialize-Funktion auf eine andere Weise Datei überschreiben, um Aktionen durch ein C-Datei-Objekt anstelle eines CArchive-Objekt zu übergeben.
Sie können Öffnen, Lesen, Schreiben, Schließen verwenden, und Seek-Memberfunktion der Klasse CFile, um eine Datei zu öffnen, der Dateizeiger (Suche) auf einen bestimmten Punkt in der Datei zu verschieben, Read- einen Datensatz (eine angegebene Anzahl von Bytes) an dieser Stelle dem Benutzer ermöglichen, den Datensatz aktualisieren und dann auf denselben Zeitpunkt wieder suchen und schreiben den Datensatz wieder in die Datei.Das Framework für die Datei geöffnet, und Sie können die GetFile-Memberfunktion der Klasse CArchive verwenden, um einen Zeiger auf den CFile-Objekt abzurufen.Für sogar ausgereiftes und flexible Nutzung können Sie die OnOpenDocument und OnSaveDocument-Memberfunktion der Klasse CWinApp überschreiben.Weitere Informationen finden Sie unter C-Datei-Klasse in der MFC-Referenz.
In diesem Szenario führt die Serialize Überschreibung nichts, es sei denn, Sie möchten z. B. einen es Dateiheader lesen und schreiben können, um ihn auf dem neuesten Stand zu halten, wenn das Dokument geschlossen wird.