複製鏈接
請複製以下鏈接發送給好友

CFile::GetStatus

鎖定
GetStatus的虛擬版本獲取與CFile對象有關的文件的狀態,不把值插入到m_szFullName結構成員中。靜態版本獲取文件狀態並把文件名拷入m_szFullName。此函數從文件目錄入口獲取文件狀態而不打開文件,這對於測試已存在和訪問權限十分有用。
外文名
CFile::GetStatus
所屬學科
計算機
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::GetStatus
CFileStatusstatus;
ExternCFilecfile;
If(cfile.GetStatus(status))//virtualmemberfunction
{
#ifdef_DEBUG
afxDump<<"Filesize="<<status.m_size<<"\n";
#endif
}
char*pFileName="test.dat";
if(CFile::GetStatus(pFileName,status))//statusfunction
{
#ifdef_DEBUG
afxDump<<"FullFilename="<<status.m_szFullName<<"\n";
#endif
}
請參閲:CFile::SetStatus, CTime