CArchive::WriteObject
Stocke CObject spécifié à l'archivage.
void WriteObject(
const CObject* pOb
);
Paramètres
- pOb
Un pointeur constante à l'objet qui est stocké.
Notes
Cette fonction est généralement appelé par l'opérateur d'insertion d' CArchive (<<) surchargé pour CObject. WriteObject, ensuite, appelle la fonction d' Serialize de la classe archivée.
Vous devez utiliser la macro d' IMPLEMENT_SERIAL pour activer l'archivage. WriteObject entré le nom de classe ASCII à l'archivage. Ce nom de classe est validé ultérieurement pendant le processus de chargement. Un modèle spéciale de codage empêché la duplication inutile du nom de la classe pour plusieurs objets de la classe. Ce schéma empêché également la mémoire redondante des objets qui sont des cibles de plusieurs pointeur.
La méthode d'encodage spécifique d'objet (y compris la présence du nom de classe ASCII) est un détail d'implémentation et peut changer dans les versions ultérieures de la bibliothèque.
Notes
Terminez de créer, de supprimer, et mettre à jour tous les objets avant de commencer à les archiver.Votre archivage sera endommagé si vous mélangez archiver et la modification de l'objet.
Exemple
Pour obtenir la définition de la classe CAge, consultez l'exemple pour 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);
Configuration requise
Header: afx.h