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


Класс CArchive

Позволяет сохранить сложную сеть объектов в постоянной бинарной форме (обычно запоминающем устройстве), которая повторяется после создания эти объекты, в свою очередь, удалены.

class CArchive

Члены

Открытые конструкторы

Имя

Описание

CArchive::CArchive

Создает объект CArchive.

Открытые методы

Имя

Описание

CArchive::Abort

Закрывает архив без вызова исключения.

CArchive::Close

Сбрасывает неписаные данные и отключается от CFile.

CArchive::Flush

Сведения о записыватей на диск из буфера неписаные архива.

CArchive::GetFile

Получает указатель объекта CFile для этого архива.

CArchive::GetObjectSchema

Вызванный из функции Serialize для указания версии объекта, который десериализуется.

CArchive::IsBufferEmpty

Определяет, является ли опорожнялся буфере во время Windows sockets возвращает процесс.

CArchive::IsLoading

Указывает, загружает ли в архиве.

CArchive::IsStoring

Указывает, хранятся ли в архиве.

CArchive::MapObject

Задает объекты в сопоставлении, не сериализованы к файлу, но которые доступны для subobjects ссылки.

CArchive::Read

Считывает необработанные байты.

CArchive::ReadClass

Считывает ссылку класса ранее сохраненные с WriteClass.

CArchive::ReadObject

Вызывает функцию Serialize объекта для загрузки.

CArchive::ReadString

Считывает одну линию текста.

CArchive::SerializeClass

Считывает или записывает ссылку на объект класса CArchive в зависимости от направления CArchive.

CArchive::SetLoadParams

Устанавливает размер, до которого массив загрузки. Быть вызываются, прежде чем любой объект загружен или до MapObject или ReadObject Вызываются.

CArchive::SetObjectSchema

Устанавливает схему объекта, сохраненный в объекте архива.

CArchive::SetStoreParams

Задает размер хэш-таблицы и размер блока сопоставления, используемого для идентификации уникального объекты в процессе сериализации.

CArchive::Write

Записывает необработанные байты.

CArchive::WriteClass

Регистрирует ссылку на CRuntimeClass к CArchive.

CArchive::WriteObject

Вызывает функцию Serialize объекта для хранения.

CArchive::WriteString

Записывает одинарная линия текста.

Открытые операторы

Имя

Описание

CArchive::operator <<

Объекты и типы-примитивы магазинов по архивации.

CArchive::operator >>

Объекты и типы-примитивы загрузок из архива.

Открытые члены данных

Имя

Описание

CArchive::m_pDocument

Заметки

CArchive не имеет базовый класс.

Далее можно загрузить объекты из постоянного хранилища, воспроизводя их в памяти. Этот процесс внесения данные постоянных вызвать "сериализацией."

Можно представить себе объекта архива в качестве типа бинарный stream. Как поток ввода-вывода, в архиве связать с файлом и разрешает buffered запись и чтение данных и из хранилища. Последовательности процессов потока ввода-вывода символов ASCII, но архив процесса двоичные данные объекта в эффективным, nonredundant формате.

Необходимо создать объект CFile прежде, чем можно будет создать объект CArchive. Кроме того, следует убедиться в том, что состояние загрузки/хранилища архива совместимо с режимом файлов открыть. Вы ограничены один активный файл в файл.

При создании объекта CArchive, вложите его к объекту класса CFile (или производного класса), представляющий открытый файл. Можно также указать, будет ли архив используется для загрузки и хранения. Объект CArchive не может обрабатывать только типы-примитивы, а также возражает CObject- производных классов, предназначенных для сериализации. Сериализуемый класс обычно имеет функции-члена Serialize, и обычно он используется макрос DECLARE_SERIAL и IMPLEMENT_SERIAL, как описано ниже классом CObject.

Перегруженные операторы извлечения (>>) и insert (<<) удобные программные интерфейсы архива, которые поддерживают как типы-примитивы и CObject- производные классы.

Программирование с CArchive также обозреватель Windows и CSocketFile sockets MFC classify CSocket. Поддержка функции-члена IsBufferEmpty, потребление.

Дополнительные сведения о CArchive см. в разделе статьи сериализация и Windows sockets: Использование сокета с архивами.

Иерархия наследования

CArchive

Требования

Header: afx.h

См. также

Ссылки

Диаграмма иерархии

Класс CFile

Класс CObject

Класс CSocket

Класс CSocketFile