CArchive::WriteObject

Сохраняет указанный CObject архивирование.

void WriteObject(
   const CObject* pOb 
);

Параметры

  • pOb
    Постоянный указатель в храненным объекту.

Заметки

Эта функция обычно называется оператором вставки CArchive (<<) перегруженным для CObject.WriteObject, в свою очередь, вызывает функцию Serialize сжатого класса.

Необходимо использовать макрос IMPLEMENT_SERIAL чтобы включить сжатие.WriteObject записывает имя класса ASCII в архив.Это имя класса проверено далее в процессе загрузки.Специальная схема кодирования предотвращает дублирование лишнее имя класса для нескольких объектов класса.Эта схема также препятствует резервное хранилище объектов, которые целевые объекты более одного указателя.

Точный метод кодирования объекта (включая наличие имени класса ASCII) реализации и может изменяться в следующих версиях библиотеки.

ПримечаниеПримечание

Завершите создание, удаление и обновление все объекты перед началом сжатие их.Ваш файл будет поврежден, если смешиваете сжатие с изменением объектов.

Пример

Для определения класса CAge см. в разделе пример CObList::CObList.

CFile myFile(_T("My__test__file.dat"), 
   CFile::modeCreate | CFile::modeReadWrite);
CAge age(21), *pAge;

// Create a storing archive.
CArchive arStore(&myFile, CArchive::store);

// Write the object to the archive
arStore.WriteObject(&age);

// Close the storing archive
arStore.Close();

// Create a loading archive.
myFile.SeekToBegin();
CArchive arLoad(&myFile, CArchive::load);

// Verify the object is in the archive.
pAge = (CAge*) arLoad.ReadObject(RUNTIME_CLASS(CAge));
ASSERT(age == *pAge);       

Требования

Header: afx.h

См. также

Ссылки

Класс CArchive

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

CArchive::ReadObject