BOOL GetStatus(CFileStatus& rStatus)const;
static BOOL PASCAL GetStatus(LPCSTR lpszFileName, CFileStatus& rStatus);
返回值:如果指定文件的状态信息成功获取,则为TRUE,否则为FALSE。
参数:
rStatus | 用户提供的CFileStatus结构的参考,用来接收状态信息。CFileStatus结构有以下字段:
|
lpszFileName | Windows字符集表示的文件路径,此路径可为绝对的或为相对的,但不包含网络名。 |
说明:
GetStatus的虚拟版本获取与CFile对象有关的文件的状态,不把值插入到m_szFullName结构成员中。
静态版本获取文件状态并把文件名拷入m_szFullName。此函数从文件目录入口获取文件状态而不打开文件,这对于测试已存在和访问权限十分有用。
m_attribute是文件属性,MFC提供一个enum类型的属性,这样就可以用符号指定属性:
enum Attribute
{
normal = 0x00,
readOnly = 0x01,
hidden = 0x02,
system = 0x04,
volume = 0x08,
directory = 0x10,
archive = 0x20
};
示例:
// example for CFile::GetStatus
CFileStatus status;
Extern CFile cfile;
If(cfile.GetStatus(status)) // virtual member function
{
#ifdef _DEBUG
afxDump<<"File size ="<<status.m_size<<"\n";
#endif
}
char* pFileName ="test.dat";
if(CFile::GetStatus(pFileName,status)) // status function
{
#ifdef _DEBUG
afxDump<<"Full File name ="<<status.m_szFullName <<"\n";
#endif
}