Поделиться через


CFile::GetStatus

Этот метод извлекает сведения о состоянии, относящиеся к данному экземпляру объекта CFile или заданного пути к файлу.

BOOL GetStatus(
   CFileStatus& rStatus 
) const;
static BOOL PASCAL GetStatus(
   LPCTSTR lpszFileName,
   CFileStatus& rStatus,
   CAtlTransactionManager* pTM = NULL
);

Параметры

  • rStatus
    Ссылка на пользователь- предоставленной структуре CFileStatus, которая получает сведения о состоянии.Структура CFileStatus имеет следующие поля:

    • CTime m_ctime Дата и время создания файла.

    • CTime m_mtime Дата и время последнего изменения.

    • CTime m_atime Дата и время последнего доступа для чтения.

    • ULONGLONG m_size Логический размер файла в байтах, как отмечено командой DIR.

    • BYTE m_attribute Байт атрибутов файла.

    • char m_szFullName[_MAX_PATH] Абсолютное имя файла в символе Windows - наборе.

  • lpszFileName
    Строка в символе Windows - установка, путь к требуемому файлу.Путь может быть относительным или абсолютным или он может содержать имя пути сети.

  • pTM
    Указатель на объект CAtlTransactionManager

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

TRUE, если сведения о состоянии для указанного файла успешно получены; в противном случае – значение FALSE.

Заметки

Статическая версия, отличного от GetStatus извлекает сведения о состоянии открытия файла, связанного с данным объектом CFile.Статическая версия GetStatus получает состояние файла из заданного виртуального пути к файлу без открытия файла.Это полезно для проверки существования и права доступа к файлу.

Элемент m_attribute структуры CFileStatus относится к набору атрибутов файла.Класс CFile предоставляет тип перечисления Атрибут поэтому можно символически указать атрибуты файла.

enum Attribute {

normal = 0x00,

readOnly = 0x01,

hidden = 0x02,

system = 0x04,

volume = 0x08,

directory = 0x10,

archive = 0x20

};

Пример

CFile cfile;
cfile.Open(_T("SetLength_File.dat"), CFile::modeCreate |
   CFile::modeReadWrite);
ULONGLONG dwNewLength = 10000;
cfile.SetLength(dwNewLength);
CFileStatus status;
if(cfile.GetStatus(status))    // virtual member function
{
   TRACE(_T("File size = %u\n"), status.m_size);
}
TCHAR* pszFileName = _T("SetLength_File.dat");
if(CFile::GetStatus(pszFileName, status))   // static function
{
   TRACE(_T("Full file name = %s\n"), status.m_szFullName);
}

Требования

Header: afx.h

См. также

Ссылки

Класс CFile

Диаграмма иерархии

CFile::SetStatus

Класс CTime