Compartilhar via


CArchive::WriteObject

Armazena CObject especificado no arquivo neutro.

void WriteObject( 
   const CObject* pOb  
);

Parâmetros

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

Comentários

Essa função é chamada normalmente pela inserção CArchive (<<) operador sobrecarregado para CObject. WriteObject, por sua vez, chama a função de Serialize da classe arquivada.

Você deve usar a macro de IMPLEMENT_SERIAL para ativar o check-in particular. WriteObject grava o nome da classe ASCII para o arquivamento. Este nome da classe é validado mais tarde durante o processo de carregamento. Um esquema especial de codificação a evitar duplicação desnecessária o nome da classe para vários objetos da classe. Este esquema também impede que o armazenamento redundante de objetos que são destinos de mais de um ponteiro.

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

Dica

Conclua criar, excluir, atualizar e todos os seus objetos antes de iniciar ao check-in particular.O arquivo será neutro danificado se você mistura arquivo com a alteração do objeto.

Exemplo

Para obter uma definição de 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 da hierarquia

CArchive::ReadObject