CFile::GetStatus

GetStatus的虛擬版本獲取與CFile對象有關的檔案的狀態,不把值插入到m_szFullName結構成員中。靜態版本獲取檔案狀態並把檔案名稱拷入m_szFullName。此函式從檔案目錄入口獲取檔案狀態而不打開檔案,這對於測試已存在和訪問許可權十分有用。

CFile::GetStatus
BOOL GetStatus(CFileStatus& rStatus)const;
static BOOL PASCAL GetStatus(LPCSTR lpszFileName, CFileStatus& rStatus);
返回值:如果指定檔案的狀態信息成功獲取,則為TRUE,否則為FALSE。
參數:
rStatus
用戶提供的CFileStatus結構的參考,用來接收狀態信息。CFileStatus結構有以下欄位:·CTime m_ctime檔案創建的時間。
·CTime m_mtime檔案最後一次修改的時間。
·CTime m_atime最後一次訪問檔案並讀取的時間。
·LONGm_size檔案邏輯長度,以位元組數表示,如同DIR命令報告的那樣。
·BYTEm_attribute檔案屬性位元組。
·Charm_szFullName[_MAX_PATH]Windows字元集表示的全檔案名稱。
lpszFileName
Windows字元集表示的檔案路徑,此路徑可為絕對的或為相對的,但不包含網路名。

說明:
m_attribute是檔案屬性,MFC提供一個enum類型的屬性,這樣就可以用符號指定屬性:
enumAttribute{normal=0x00,readOnly=0x01,hidden=0x02,system=0x04,volume=0x08,directory=0x10,archive=0x20};
示例:
//exampleforCFile::GetStatusCFileStatusstatus;ExternCFilecfile;If(cfile.GetStatus(status))//virtualmemberfunction{#ifdef_DEBUGafxDump<<"Filesize="<<status.m_size<<"\n";#endif}char*pFileName="test.dat";if(CFile::GetStatus(pFileName,status))//statusfunction{#ifdef_DEBUGafxDump<<"FullFilename="<<status.m_szFullName<<"\n";#endif}
請參閱:CFile::SetStatus, CTime

相關詞條

熱門詞條

聯絡我們