Partilhar via


CArchive::WriteObject

Armazena o especificadoCObject para o arquivar.

void WriteObject(
   const CObject* pOb 
);

Parâmetros

  • pOb
    Um ponteiro constante para o objeto que está sendo armazenado.

Comentários

Esta função normalmente é chamada pelo CArchive () inserção**<<**) operador sobrecarregado para CObject. WriteObject, por sua vez, chama o Serialize função da classe arquivada.

Você deve usar o IMPLEMENT_SERIAL macro para habilitar o arquivamento. WriteObject grava o nome de classe ASCII para o arquivar.Este nome de classe é validada posteriormente durante o processo de carregamento.Um esquema de codificação especial impede a duplicação desnecessária do nome de classe para vários objetos da classe.Este esquema também impede que o armazenamento redundante de objetos que são alvos de mais de um ponteiro.

O objeto exato (incluindo a presença do nome de classe ASCII) do método de codificação é um detalhe de implementação e pode mudar em futuras versões da biblioteca.

Observação:

Terminar de criar, excluindo e atualizando todos os seus objetos antes de começar a arquivá-los.O arquivar será ser corrompido se misturar arquivar com a modificação do objeto.

Exemplo

Para obter uma definição da classe CAge, consulte o exemplo 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

Cabeçalho: afx.h

Consulte também

Referência

Classe CArchive

Gráfico de hierarquia

CArchive::ReadObject

Outros recursos

CArchive membros