Поделиться через


Сериализация данных в файлы и из них

Основная мысль сохранения, объект должен записывать его текущее состояние, показанное значениями его переменных-членов, в постоянное хранилище. В дальнейшем объект можно воссоздать, или путем чтения «поиск» состояние объекта из постоянного хранилища. Узловой пункт заключается в том, что сам объект отвечает за чтения и записи состояния. Таким образом, для класса, который должен быть упорен, он должен реализовать базовые операции сериализации.

Платформа предоставляет реализацию по умолчанию для хранения документов на дисковым файлам в ответ на и команды "Сохранить как" в меню " Файл и для загрузки документов из дисковых файлов в ответ на открытую команды. Очень с меньшим работы, можно реализовать возможность документа записывать и считывать данные из и в файле. Главный элемент необходимо сделать переопределить функцию-член Выполнять сериализацию в классе документа.

Мастер приложений MFC задает скелетное переопределить функцию-член SerializeCDocument в классе документа создается автоматически. После реализации переменных-членов приложения можно заполните переопределенный Serialize с кодом, отправить данные в «подключенному объект архива» в файл. Объект CArchive похож на объекты ввода-вывода cin и cout в библиотеке iostream C C++. Однако CArchive записи и считывает бинарный формат, не форматированный текст.

Дополнительные сведения

Роль document в сериализации

Платформа отвечает автоматически в меню "Файл" команды " открыть, сохранения и сохранить как путем вызова функции-члена Serialize документа, если она реализована. Команда ID_FILE_OPEN, например, вызывает функцию обработчика в объекте приложения. Во время этого процесса, пользователь видит и ответа в диалоговое окно файла открытый и платформа получает имя файла выбранные пользователем. Платформа создает настройку объекта CArchive для загрузки данных в документ и передает архив в Serialize. Платформа уже раскрывала файл. Код в функции-члене Serialize создаваемого документа считывает данные в архив, реконструируя через объекты данных по мере необходимости. Дополнительные сведения о сериализации см. в статье Сериализация.

Роль в сериализации данных

Как правило, данные типа класса должна быть возможность сериализации. Это значит, что при передаче объекта в архив, он должен знать, как создаются в архив и считывания из архива. MFC предоставляет поддержку для создания классов сериализуемый таким образом. При создании класса для указания типа данных и требуется сериализовать данные этого типа, создайте для сериализации.

См. также

Ссылки

Использование документов