CArchive::WriteObject
Almacena CObject especificado al archivo.
void WriteObject(
const CObject* pOb
);
Parámetros
- pOb
Un puntero constante al objeto que se almacena.
Comentarios
Llama a esta función normalmente por el operador de inserción de CArchive (<<) sobrecargado para CObject.WriteObject, a su vez, llama a la función de Serialize de la clase almacenada.
Debe utilizar la macro de IMPLEMENT_SERIAL para habilitar el archivado.WriteObject escribe el nombre de clase ASCII al archivo.este nombre de clase se valida más adelante durante el proceso de carga.Un esquema especial de codificación evita la duplicación innecesaria del nombre de clase de varios objetos de la clase.este esquema también evita el almacenamiento redundante de los objetos que son destinos de más de un puntero.
El método de codificación exacto del objeto (presencia incluyendo el nombre de clase ASCII) es un detalle de implementación y podría cambiar en versiones futuras de biblioteca.
[!NOTA]
Termine de crear, eliminar, y actualizar todos los objetos antes de iniciar el archivo ellos.El archivo quedará dañado si mezcla el archivado con la modificación del objeto.
Ejemplo
Para una definición de clase CAge, vea el ejemplo para 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);
Requisitos
encabezado: afx.h