Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






CStdioFile






Данный класс полностью аналогичен своему родителю классу CFile и, соответственно, имеет возможность вызвать практически любую доступную ему родительскую функцию.

Отличия:

CStdioFile(); // Конструктор по умолчаниюCStdioFile(FILE* pOpenStream); // Параметром конструктора служит файловый указатель, полученный// с помощью C-шной функции fopen.CStdioFile(LPCTSTR lpszFileName, UINT nOpenFlags); // см. соответствующий конструктор класса CFile virtual LPTSTR ReadString(LPTSTR lpsz, UINT nMax); // Возвращает буфер, содержащий данные, или NULL, если был// найден конец файла без считывания информации в буфер.// lpsz - буфер, получающий строку, // nMax - максимальное количество считываемых символов// (завершающий ноль (\0) не учитывается).// Читает либо nMax - 1 символов, либо до символа новой строки.// Символ новой строки записывается в буфер. // В конец буфера вставляется завершающий ноль.// В случае ошибки возбуждается исключительная ситуация. BOOL ReadString(CString& rString); // Возвращает ложь, если был найден конец файла без считывания// информации в строку.// rString - ссылка на объект CString, который будет хранить// считанные данные.// rString не хранит символ '\n'.// В случае ошибки возбуждается исключительная ситуация. virtual void WriteString(LPCTSTR lpsz); // Записывает строку lpsz в файл. Символ '\0' в файл не пишется.// Символ '\n' записывается в файл как пара символов// конец/перевод строки.// В случае ошибки возбуждается исключительная ситуация.

Заметка:

В данном разделе упоминался класс файловых исключений CFileException. Сейчас мы не будем его подробно рассматривать. Приведем лишь его часть.

Генеалогия

int m_cause; // открытая (public) переменная, содержащая описание ошибки: // CFileException:: none - ошибок не было, // CFileException:: generic - неизвестная ошибка, // CFileException:: fileNotFound - файл не найден, // CFileException:: badPath - неверный путь, // CFileException:: tooManyOpenFiles - превышено количество// одновременно открытых файлов, // CFileException:: accessDenied - доступ запрещен, // CFileException:: invalidFile - неверный дескриптор файла, // CFileException:: removeCurrentDir - невозможно удалить// текущую рабочую директорию, // CFileException:: directoryFull - директория отсутствует, // CFileException:: badSeek - ошибка при перемещении// файлового указателя, // CFileException:: hardIO - аппаратная ошибка, // CFileException:: sharingViolation - не загружен Share.exe// или диапазон заблокирован, // CFileException:: lockViolation - попытка повторной блокировки// заблокированного диапазона, // CFileException:: diskFull - диск переполнен, // CFileException:: endOfFile - достигнут конец файла.

 

Стандартные блоки диалога.
Класс CFileDialog (файловый диалог)

Генеалогия

Стандартные блоки диалога применяются для выполнения каких-либо стандартных действий, как-то: открытие файлов, выбор шрифта, выбор цвета и т. д. В текущей версии библиотеки MFC существует поддержка следующих классов: CFileDialog, CFindReplaceDialog, CColorDialog, CPrintDialog и CPageSetupDialog. В данном разделе будет рассмотрен класс CFileDialog, отвечающий за создание и работоспособность двух блоков диалога: один позволяет выбрать файл для его последующего открытия, а другой предназначен для выбора расположения и имени файла при его сохранении.

Кстати, на самом деле этот один и тот же диалог, различия только внешние.

Начинающие программисты часто думают, что эти диалоги самостоятельно открывают и сохраняют требуемые файлы, но на самом деле это всего лишь удобный способ для выбора места хранения и имени файла. Все операции по физическому открытию файлов, а также операции по чтению и записи в них осуществляются программистом.

Итак, что же представляет из себя файловый диалог... (см. рисунки)

Диалог для открытия файлов

Диалог для записи файлов

Без сомнения, они вам знакомы и, будем надеяться, вопросы по поводу что и где нажимать возникать не должны. Теперь перейдем к вопросам программирования.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал