Открытие файлов
В MFC наиболее распространенный способ открыть файл двухэтапного процесса.
Открыть файл
Создайте объект файла без указания путь или флажки разрешения.
Обычно создается объект файла путем объявления переменной CFile в кадре стека.
Вызовите функцию-член Открыть для объекта файла, указывая путь и флажки разрешения.
Возвращаемое значение для Open будет отлично от нуля, если файл был открыт успешно или 0, если указанный файл не может быть открыт. Функция-член Open использовании следующим образом:
virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );
Открытые флажки указывают, какие разрешения, например только для чтения, необходимый для файла. Возможные значения флажков определяются как константы, указанные в классе CFile, поэтому они уточнен с «**CFile::**» как в CFile::modeRead. Использование флажка CFile::modeCreate, если нужно создать файл.
В следующем примере показано, как создать новый файл с чтения или записи разрешение (заменив весь предыдущий файл с тем же путем).
TCHAR* pszFileName = _T("c:\\test\\myfile.dat");
CFile myFile;
CFileException fileException;
if ( !myFile.Open( pszFileName, CFile::modeCreate |
CFile::modeReadWrite, &fileException ) )
{
TRACE( _T("Can't open file %s, error = %u\n"),
pszFileName, fileException.m_cause );
}
Примечание
В этом примере создается и открывается файл.Если проблемы, вызов Open может возвращать объект CFileException в своем последнем параметра, как показано ниже.Макрос TRACE тип и имя файла и код, указывающее причину сбоя.Можно вызвать функцию AfxThrowFileException, если требуется более детального отчетов об ошибках.