Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Func.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.58 Mб
Скачать

CFile::Close

virtual void Close( ); throw( CFileException );

Примечание

Закрывает файл, связанный с объектом данного класса, и делает его недоступным для операций чтения и записи. Если файл не был закрыт до уничтожения объекта данного класса, эта операция производится его деструктором.

Если объект класса CFile создавался в куче с использованием оператора new, его необходимо уничтожить после закрытия файла. Функция Close присваивает переменной m_hFile значение CFile::hFileNull.

CFile::GetFilePath

virtual CString GetFilePath( ) const;

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

Полный путь к файлу, связанному сданным объектом класса.

Примечание

Данная функция позволяет получить полный путь к файлу, связанному сданным объектом класса. Например, для файла c:\Windows\write\myfile.wri функция GetFilePath возвратит строку "c:\Windows\write\myfile.wri".

Чтобы возвратить имя файла с расширением (myfile.wri) используйте функцию GetFileName. Чтобы возвратить только имя файла без расширения (myfile) используйте функцию GetFileTitle.

CFile::GetLength

virtual DWORD GetLength( ) const; throw( CFileException );

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

Длина файла в байтах.

Примечание

Позволяет получить текущую логическую длину файла в байтах.

CFile::Open

virtual BOOL Open( LPCTSTR lpszFileName, UINT nOpenFlags, CFileException* pError = NULL );

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

Ненулевое, если файл был успешно открыт, и нулевое в противном случае. Аргумент pError принимает корректное значение только в том случае, если функция возвратила нулевое значение.

Аргументы

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

  2. nOpenFlags — аргумент типа UINT, определяющий режим доступа к файлу и режим совместного использования файла. Кроме того, он определяет действия, предпринимаемые при открытии файла. Флаги в данной переменной объединяются оператором побитового ИЛИ ( | ). Обязательно должен быть установлен один из флагов, определяющих режим доступа к файлу и один флаг, определяющий режим совместного использования файла. Флаги modeCreate и modeNoInherit не являются обязательными.

  3. pError — указатель на существующий объект исключения типа CFileException, в который будет записан статус неудавшейся операции.

Примечание

Функция Open используется в том случае, когда для создания объекта класса CFile использовался конструктор без аргументов. Использование этих двух функций обеспечивает "надёжный" способ открытия файла.

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

Пример

CFile f;

CFileException e;

char* pFileName = "test.dat";

if( !f.Open( pFileName, CFile::modeCreate | CFile::modeWrite, &e ) )

{

#ifdef _DEBUG

afxDump << "Ошибка при открытии файла " << e.m_cause << "\n";

#endif

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]