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