共用方式為


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] 字元集的絕對檔名。

  • lpszFileName
    在路徑設定為所要的檔案的 Windows 字元集的字串。 路徑可以是相對或絕對的,也可以包含網路路徑名稱。

  • pTM
    為 CAtlTransactionManager 物件的指標。

傳回值

,如果指定檔案的狀態資訊已成功取得;否則,

備註

GetStatus 非靜態版本擷取已開啟文件的狀態資訊與指定 CFile 物件。 GetStatus 靜態版本衍生自特定檔案路徑上檔案的狀態,而不需要實際開啟檔案。 這將用於測試檔案的存在和存取權限非常有用。

CFileStatus 結構的 m_attribute 成員參考文件屬性集合。 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

請參閱

參考

C 檔案類別

階層架構圖

CFile::SetStatus

CTime 的類別