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