Виртуальный 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