Partilhar via


Serialização de dados para e de arquivos

A idéia básica de persistência é que um objeto deve ser capaz de gravar seu estado corrente, indicado pelos valores de suas variáveis de membro, para armazenamento persistente.Posteriormente, o objeto pode ser recriado lendo ou "desserialização" estado do objeto de armazenamento persistente.Um ponto importante aqui é que o próprio objeto é responsável por ler e gravar seu próprio estado.Assim, para uma classe ser persistente, ela deve implementar as operações de serialização básica.

A estrutura oferece uma implementação padrão para salvar documentos em arquivos de disco em resposta a salvar e salvar sistema autônomo comandos no menu Arquivo e para carregar documentos de arquivos do disco em resposta ao comando em em aberto.Com muito pouco trabalho, você pode implementar a capacidade do documento gravar e ler seus dados e para um arquivo.O principal que você deve fazer é substituir o Serializarfunção de membro na sua classe de documento.

O Assistente de aplicativos MFC coloca uma substituir de esqueleto do CDocument de função de membro Serialize a classe de documento ele cria para você. Depois de ter implementar variáveis de membros do seu aplicativo, você pode preencher seu SerializeSubstitua pelo código que envia os dados para um "objeto de arquivar" conectado a um arquivar. A CArchive objeto é semelhante à cin e cout objetos de entrada/saída da Biblioteca iostream C++. No entanto, CArchive grava e lê o formato binário, texto não formatado.

O que você deseja saber mais sobre?

Papel do documento no serialização

A estrutura responde automaticamente ao em em aberto do menu Arquivo, salvar, e salvar sistema autônomo comandos chamando Serialize função de membro se ele é implementado. An ID_FILE_OPEN Por exemplo, o comando, chama uma função de manipulador no objeto de aplicativo. Durante esse processo, o usuário vê e responde a caixa de diálogo em em aberto arquivo e a estrutura obtém o nome de arquivo que o usuário escolhe.O estrutura cria um CArchive objeto configurada para carregar dados no documento e transmite o arquivar Serialize. A estrutura já tiver aberto o arquivo.O código Serialize função de membro lê sistema autônomo dados por meio de arquivar, reconstruindo objetos de dados conforme necessário. Para obter mais informações sobre a serialização, consulte o artigo Serialização.

Função da dados de serialização

Em geral, dados de tipo de classe conseguirá serializar ele mesmo.Isto é, quando você passar um objeto para um arquivar, o objeto deve saber como escrever próprio para o arquivar e como ler próprio do arquivar.MFC fornece suporte para fazer classes serializável dessa maneira.Se você cria uma classe para definir um tipo de dados e que deseja serializar esse tipo de dados, o design para serialização.

Consulte também

Referência

Usar documentos