Condividi tramite


CArchive::WriteObject

Archivia CObject specificato nell'archivio.

void WriteObject(
   const CObject* pOb 
);

Parametri

  • pOb
    Un puntatore costante all'oggetto archiviato.

Note

Questa funzione è denominata in genere dall'operatore di inserimento CArchive (<<) sottoposto a overload per CObject.WriteObject, a sua volta, chiama la funzione Serialize della classe archiviata.

È necessario utilizzare la macro IMPLEMENT_SERIAL per consentire l'archiviazione.WriteObject scrive il nome della classe ASCII nell'archivio.Il nome della classe viene convalidato in un secondo momento durante il processo di caricamento.Una combinazione speciale di codifica impedisce la duplicazione il nome della classe per più oggetti della classe.Questa combinazione anche impedisce l'archiviazione ridondante di oggetti che sono destinazioni più di un puntatore.

Il metodo di codifica esatto di oggetto (presenza incluso il nome della classe ASCII) è un dettaglio di implementazione e può cambiare nelle versioni future della raccolta.

[!NOTA]

Completare la creazione, eliminazione e aggiornare tutti gli oggetti prima di iniziare a archiviarle.Il file è danneggiato se mischiate archiviare la modifica dell'oggetto.

Esempio

Per una definizione di classe CAge, vedere l'esempio relativo CObList::CObList.

CFile myFile(_T("My__test__file.dat"), 
   CFile::modeCreate | CFile::modeReadWrite);
CAge age(21), *pAge;

// Create a storing archive.
CArchive arStore(&myFile, CArchive::store);

// Write the object to the archive
arStore.WriteObject(&age);

// Close the storing archive
arStore.Close();

// Create a loading archive.
myFile.SeekToBegin();
CArchive arLoad(&myFile, CArchive::load);

// Verify the object is in the archive.
pAge = (CAge*) arLoad.ReadObject(RUNTIME_CLASS(CAge));
ASSERT(age == *pAge);       

Requisiti

Header: afx.h

Vedere anche

Riferimenti

Classe di CArchive

Grafico della gerarchia

CArchive::ReadObject