CArchive

CArchive non dispone di una classe base.

La classe CArchive consente di salvare una complessa rete di oggetti in un formato binario permanente (di solito storage su disco) che persiste dopo tali oggetti vengono eliminati. Successivamente è possibile caricare gli oggetti dall'archivio persistente, li ricostituire nella memoria. Questo processo di rendere persistenti i dati viene chiamato "serializzazione".

Si può pensare di un oggetto archivio come una sorta di flusso binario. Come un flusso di input/output, un archivio è associato a un file e consente la memorizzazione nel buffer di scrittura e lettura dei dati da e per l'archiviazione. Un flusso di input/output elabora le sequenze di caratteri ASCII, ma un archivio elabora i dati oggetto binario in un formato efficiente, nonredundant.

È necessario creare un oggetto CFile prima di creare un oggetto CArchive . Inoltre, è necessario assicurarsi che lo status di archivio e di carico dell'archivio è compatibile con la modalità di apertura del file. Sono limitati a un archivio attivo per ogni file.

Quando si crea un oggetto CArchive , allegare a un oggetto della classe CFile (o una classe derivata) che rappresenta un file aperto. Anche specificare se l'archivio verrà utilizzato per il carico o memorizzazione. Un oggetto CArchive in grado di elaborare non solo tipi primitivi, ma anche oggetti di CObject-progettate per la serializzazione di classi derivate. Una classe serializzabile di solito ha una funzione membro Serialize e solitamente utilizza le macro DECLARE_SERIAL e IMPLEMENT_SERIAL , come descritto sotto classe CObject.

L'estrazione di overload (gt; >) e l'inserimento (<<) gli operatori sono interfacce di programmazione di archivio conveniente che supportano entrambi i tipi primitivi e CObject-classi derivate.

CArchive supporta anche la programmazione con le classi MFC Windows Sockets CSocket e CSocketFile. La funzione membro IsBufferEmpty sostiene che l'uso.

Per ulteriori informazioni su CArchive, vedere gli articoli serializzazione (Object Persistence) e Windows Sockets: utilizzando prese con archivi nel manuale del programmatore di Visual C++.

# include lt;afx.h>

Membri della classeGerarchia Chart

Campio&nenbsp; Esempio MFC MULTIPAD

Vedere a&nchenbsp;CFile, CObject, CSocket, CSocketFile

Index