若要檢視英文版的文章,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

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

顯示: