CArchive

CArchive verfügt nicht über eine Basisklasse.

Die CArchive -Klasse können Sie ein komplexes Netzwerk von Objekten in eine permanente Binärform (in der Regel Speicherplatz) speichern, die weiterhin besteht, nachdem diese Objekte gelöscht werden. Später können Sie die Objekte aus dem permanenten Speicher laden Rekonstituierung der ihnen in Erinnerung. Dieser Prozess der Herstellung Daten persistent heißt "Serialisierung".

Sie können ein Archivobjekt als eine Art von binären Stream vorstellen. Wie einen Eingabe-/Ausgabestream ein Archiv mit einer Datei verbunden ist und erlaubt das gepufferte schreiben und Lesen von Daten in und aus dem Speicher. Ein Eingabe-/Ausgabestream verarbeitet Sequenzen von ASCII-Zeichen, sondern ein Archiv verarbeitet binäre Objektdaten in einem effizienten, nicht redundantes format.

Sie müssen ein CFile -Objekt erstellen, bevor Sie ein CArchive -Objekt erstellen können. Darüber hinaus müssen Sie sicherstellen, dass das Archiv Load/Store Status Öffnungsmodus der Datei kompatibel ist. Sie beschränken sich auf ein aktives Archiv pro Datei.

Wenn Sie ein CArchive -Objekt zu erstellen, fügen Sie es an ein Objekt der Klasse CFile (oder eine abgeleitete Klasse), eine geöffnete Datei darstellt. Auch angeben, ob das Archiv zum Laden oder speichern verwendet wird. Ein CArchive -Objekt verarbeiten kann, nicht nur primitive Typen, sondern auch Objekte von CObject-abgeleitete Klassen für die Serialisierung. Eine serialisierbare Klasse hat in der Regel eine Memberfunktion Serialize und verwendet in der Regel die Makros DECLARE_SERIAL und IMPLEMENT_SERIAL , wie beschrieben unter Klasse CObject.

Die überladene Extraktion (Gt; >) und Einfügen (<<) Operatoren sind bequeme Archiv-Programmierschnittstellen, die Unterstützung von primitiven Typen und CObject-abgeleitete Klassen.

CArchive unterstützt auch die Programmierung mit den MFC-Windows-Sockets-Klassen, CSocket und CSocketFile. Die Memberfunktion IsBufferEmpty unterstützt die Verwendung.

Weitere Informationen auf CArchivefinden Sie in die Artikeln Serialisierung (Objektdauerhaftigkeit) und Windows Sockets: Verwenden von Sockets mit Archiven im Visual C++ Programmer's Guide.

# include lt;afx.h>

Klasse&nmember |nbsp; Hierarchiediagramm

Beispiel&Nbsp; MFC-Beispiel MULTIPAD

Siehe auch&Nbsp;CFile, CObject, CSocket, CSocketFile

Index