CArchive ( CFile * pFile, UINT nMode, int nBufSize = 4096, void * lpBuf = NULL );
Бросай ( CMemoryException, CArchiveException, CFileException );
Параметры
pFile
Указатель на объект CFile , ultimate источник или пункт назначения постоянных данных.
nMode
Флаг, который указывает ли объекты будут загружены из или хранятся в архиве. Параметр nMode должен иметь одно из следующих значений:
nBufSize
Целое число, определяющее размер буфера внутренних файла в байтах. Обратите внимание, что размер буфера по умолчанию равен 4 096 байт. Если вы регулярно архивировать крупных объектов, позволит повысить производительность, если вы используете больший размер буфера, кратной файла размером буфера.
lpBuf
Дополнительный указатель на предоставленные пользователем буфер размером nBufSize. Если этот параметр не указан, Архив выделяет буфер из локальной кучи и освобождает при уничтожении объекта. Архив не освобождает буфер, предоставленный пользователем.
Примечания
Конструкции объекта CArchive и определяет, будет ли он использоваться для загрузки или хранения объектов. Эта спецификация нельзя изменить после создания архива.
Вы не можете использовать CFile операции для изменения состояния файла до тех пор, пока вы закрыли архива. Такая операция может повредить целостность архива. Положение указателя файла можно воспользоваться в любое время во время сериализации получения объекта файла архива от функции-члена GetFile и затем с помощью функции CFile::GetPosition . CArchive::Flush следует вызывать до получения позиции указателя файла.
Пример
extern char * pFileName;
CFile f;
buf char [512];
Если (! f.Open (pFileName, CFile::modeCreate | {CFile::modeWrite))
nbsp; # ifdef _DEBUG
afxDump << «Не удается открыть файл» << «\n»;
выход (1);
# endif
}
CArchive ar (& f, CArchive::store, 512, buf);
Обзор CArchive | Члены класса | Иерархическая схема
См. также CArchive::Close, CArchive::Flush, CFile::Close