Partilhar via


Serializando dados para e de arquivos

A exibição básica de persistência é que um objeto deve poder gravar seu estado atual, indicada pelos valores de suas variáveis de membro, ao armazenamento persistente. Posteriormente, o objeto pode ser recriado ler, ou desserialização “,” o estado do objeto de armazenamento persistente. Um ponto-chave aqui é que o próprio objeto é responsável para ler e escrever seu próprio estado. Assim, para que uma classe é persistente, implemente as operações básicas de serialização.

A estrutura fornece uma implementação padrão para salvar documentos em arquivos de disco em resposta à salvar e a salvar como comandos no menu arquivo e para carregar documentos de arquivos em disco em resposta ao comando aberto. Com muito pouco trabalho, você pode implementar a capacidade de um documento de gravar e à leitura seus dados para e de um arquivo. O elemento principal que você deve fazer é substituir a função de membro de Serializar em sua classe do documento.

O assistente de aplicativo MFC coloca uma substituição esqueletal da função de membro Serialize de CDocument na classe do documento que você cria para. Depois que você implementou variáveis de membro do seu aplicativo, você poderá preencher sua substituição de Serialize com código que envia os dados “em um objeto arquivo morto” conectado a um arquivo. Um objeto de CArchive é semelhante aos objetos de entrada/saída de cin e de cout de biblioteca iostream C++. No entanto, CArchive grava e ler o formato binário, não texto formatado.

Que você deseja saber mais?

A função do documento na serialização

A estrutura responde automaticamente a Abrir, a salva, e a salva no menu arquivo como comandos chamando a função de membro de Serialize do documento se for implementada. Um comando de ID_FILE_OPEN , por exemplo, chama uma função de manipulador no objeto de aplicativo. Durante esse processo, o usuário verá e responde à caixa de diálogo abrir Arquivo e a estrutura obtém o nome de arquivo escolhido pelo usuário. A estrutura cria uma configuração de objeto de CArchive para carregar dados no documento e passa o arquivo morto a Serialize. A estrutura tem aberto o arquivo. O código da função de membro de Serialize do documento ler os dados no por meio de arquivo, recriando objetos de dados quando necessário. Para obter mais informações sobre a serialização, consulte o artigo Serialização.

A função de dados na serialização

Em geral, os dados do tipo devem poder serializar-se classe. Ou seja, quando você passa um objeto em um arquivo, o objeto deve saber como escrever-se ao arquivo morto e ler-se de arquivo morto. MFC O fornece suporte para fazer classes serializáveis dessa maneira. Se você criar uma classe para definir um tipo de dados e você pretende serializar dados desse tipo, para criar a serialização.

Consulte também

Referência

Usando documentos