CFile::Open

Виртуальный BOOL Открытые ( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException * pError = NULL );

Возвращаемое значение

Ненулевое значение, если открыть прошла успешно; в противном случае 0. PError параметр имеет смысл только в том случае, если возвращается 0.

Параметры

lpszFileName

Строка, содержащая путь к нужному файлу. Путь может быть родственник, абсолютная или сетевого имени (UNC).

nOpenFlags

UINT , определяющий режим обмена и доступа к файлу. Это определяет действие, выполняемое при открытии файла. Параметры можно комбинировать с помощью оператора побитового или (|). Требуются разрешения на один доступ и одну акцию вариант; modeCreate и modeNoInherit режимы не являются обязательными. Увидеть CFile конструктор для списка параметров режима.

pError

Указатель на существующий объект исключения файлов, будут получать статус неудачной операции.

Примечания

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

В то время как CFile конструктор выдаст исключение в состоянии ошибки, открытые будет возвращать значение FALSE для условий ошибок. Открыть все еще можно инициализировать объект CFileException для описания ошибки, однако. Если не параметр pError , или если передается значение NULL для pError, открытый возвращает значение FALSE и не бросать CFileException. Если передать указатель существующей CFileException, и открытые возникает ошибка, функция будет заполнить ее с информацией с описанием этой ошибки. В случае ни открытой вызовет исключение.

В следующей таблице описаны возможные результаты открытого.

pError Произошла ошибка? Возвращаемое значение CFileException содержание
ЗНАЧЕНИЕ NULL No ПРАВДА n/a
pTR для CFileException No ПРАВДА без изменений
ЗНАЧЕНИЕ NULL Да ЛОЖЬ n/a
pTR для CFileException Да ЛОЖЬ инициализирован для описания ошибки

Пример

//Example для CFile::Open
CFile f;
CFileException e;
char * pFileName = «test.dat»;
Если (! f.Open (pFileName, CFile::modeCreate | CFile::modeWrite, amp; e))
   {
# ifdef _DEBUG
   afxDump << «Не удается открыть файл» << e.m_cause << «\n»;
# endif
   }

Обзор CFileЧлены класса | Иерархическая схема

См. также CFile::CFile, CFile::Close

Index