Создаем проект на основе диалогового окна. Помещаем кнопку. И привязываем событие к нажатию этой кнопки. Создаем проект на основе диалогового окна. Помещаем кнопку. И привязываем событие к нажатию этой кнопки. Делали уже раньше.
Код нажатия кнопки.
void CMy57Dlg::OnButton1()
{
CFile file("SAVE.TXT", CFile::modeWrite | CFile::modeCreate); // создать файл
CArchive ar(&file, CArchive::store); // на основе него обьект архив
CString s("Hello");
ar << s; // записать в архив
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 запись данных
Теперь этот пример понятен. Открываю файл для записи и с созданием ( первый раз его нет, второй раз удаление и создание заново). Создаю объект архива. Записываю туда строку и закрываю все. У вас в каталоге проекта должен появиться файл. Его можно посмотреть обычным текстовым редактором.
Создать объект CFile
CFile file("SAVE.TXT", CFile::modeWrite | CFile::modeCreate); // создать файл
от него CArhive
CArchive ar(&file, CArchive::store); // на основе него обьект архив
можно использовать
ar << s; // записать в архив