Ignorando o mecanismo de serialização
Como vimos, o framework fornece uma maneira padrão para ler e gravar dados para e de arquivos.Serialização de um objeto de arquivamento às necessidades de muitos aplicativos excelentes.Tal aplicativo lê um arquivo totalmente na memória, permite que o usuário atualize o arquivo e grava a versão atualizada para o disco novamente.
No entanto, alguns aplicativos operam em dados de maneira muito diferente, e esses aplicativos serialização por meio de um arquivamento não é adequada.Exemplos incluem programas de banco de dados, programas editem somente partes de arquivos grandes, os programas que gravam arquivos somente texto e programas que compartilham arquivos de dados.
Nesses casos, você pode substituir o Serialize função de maneira diferente para mediar ações de arquivo por meio de um CFile objeto em vez de um CArchive objeto.
Você pode usar o Abrir, leitura, escrever, Fechar, e Seek funções de membro da classe CFile para abrir um arquivo, mova o ponteiro de arquivo (seek) para um ponto específico no arquivo, ler um registro (um número especificado de bytes) nesse ponto, então busca permitem a atualização do registro do usuário para o mesmo ponto novamente e gravar o registro de volta para o arquivo.A estrutura será aberto o arquivo para você e você pode usar o GetFile função de membro da classe CArchive para obter um ponteiro para o CFile objeto.Para usar ainda mais sofisticada e flexível, você pode substituir o OnOpenDocument e OnSaveDocument funções de membro da classe CWinApp.Para obter mais informações, consulte a classe CFile na Referência MFC.
Nesse cenário, o Serialize substituição não faz nada, a menos que, por exemplo, você deseja que ele ler e gravar um cabeçalho de arquivo para mantê-lo até a data quando fecha o documento.