Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Como você viu, a estrutura fornece uma maneira padrão de ler e gravar dados de e para arquivos. A serialização através de um objeto de arquivo atende às necessidades de um grande número de aplicativos. Esse aplicativo lê um arquivo inteiramente na memória, permite que o usuário atualize o arquivo e, em seguida, grava a versão atualizada no disco novamente.
No entanto, algumas aplicações operam em dados de forma muito diferente e, para essas aplicações, a serialização por meio de um arquivo não é adequada. Os exemplos incluem programas de banco de dados, programas que editam apenas partes de arquivos grandes, programas que gravam arquivos somente texto e programas que compartilham arquivos de dados.
Nesses casos, você pode substituir a função Serialize de uma maneira diferente para mediar ações de arquivo por meio de um objeto CFile em vez de um objeto CArchive .
Você pode usar as funções membro Open, Read, Write, Close, e Seek da classe CFile para abrir um arquivo, mover o ponteiro do arquivo (procurar) para um ponto específico no arquivo, ler um registro (um número especificado de bytes) nesse ponto, permitir que o usuário atualize o registro e depois procurar o mesmo ponto novamente para gravar o registro de volta no arquivo. A estrutura abrirá o arquivo para você e você poderá usar a GetFile função de membro da classe CArchive para obter um ponteiro para o CFile objeto. Para um uso ainda mais sofisticado e flexível, você pode substituir as funções de membro OnOpenDocument e OnSaveDocument da classe CWinApp. Para obter mais informações, consulte classe CFile na referência MFC.
Nesse cenário, sua Serialize substituição não faz nada, a menos que, por exemplo, você queira lê-lo e gravar um cabeçalho de arquivo para mantê-lo atualizado quando o documento for fechado.