|
http://tikitak.narod.ru ---- Главная страница сайта
Шаг 57 - Как создать CArchive обьект самим
Создаем проект
Создаем проект на основе диалогового окна. Помещаем кнопку. И привязываем событие к нажатию этой кнопки. Делали уже :-)
Создаем код
Код нажатия кнопки
void CTestdiaDlg::OnButton1()
{
CFile file("SAVE.TXT", CFile::modeWrite | CFile::modeCreate);
CArchive ar(&file, CArchive::store);
ar << "Hello Arhive";
ar.Close();
file.Close();
}
Описание
Для использования класса CArchive нам необходимо создать класс CFile. Этот класс является базовым для классов работы с файлами. Этот класс поддерживает небуферизированный двоичный ввод/вывод. Вы на его основе можете создавать свои классы. Конструктор этого класса -
CFile( LPCTSTR lpszFileName, UINT nOpenFlags ); throw( CFileException );
Как видите он простой. Имя файла и флаги. Он порождает исключение типа CFileException. Вообще то его надо отлавливать. Но ладно :-). Флагов много. Вот основные.
CFile::modeCreate | создает новый файл или отрезает длинну существующего до нуля.
|
---|
CFile::modeRead | разрешается только читать
|
---|
CFile::modeReadWrite | и чтение и запись
|
---|
CFile::modeWrite | только запись
|
---|
CFile::typeBinary | устанавливает двоичный режит доступа
|
---|
CFile::typeText | устанавливает тестовый режим доступа
|
---|
Имея обьект класса CFile можно создать и CArchive. Этот класс не имеет базового класса. Этот класс позволяет сохранять сложные цепи ваших обьетов. Этот процесс называют преобразование в последовательную форму serialization. Конечно этот объект может обрабатывать не только простые типы данных, но и правильно порожденные обьекты от CObject ( с учетом записи на диск). Ниже показан конструктор класса.
CArchive( CFile* pFile, UINT nMode, int nBufSize = 4096, void* lpBuf = NULL );
throw( CMemoryException, CArchiveException, CFileException );
Как видите, обязательно нужен обьект CFile и режим обьекта. Их три. Но главные два :-)
CArchive::load чтение данных
CArchive::store запись данных
Теперь этот пример понятен. Открываю файл для записи и с созданием ( первый раз его нет, второй раз удаление и создание заново). Создаю обьект архива. Записываю туда строку и закрываю все. У вас в каталоге проекта должен появиться файл. Его можно посмотреть обычным текстовым редактором.
Предыдущий Шаг | Следующий Шаг | Оглавление By Artem.
Используются технологии uCoz
|