您的位置:首页 > 其它

飞鸽传书用 CFile::GetStatus 获取文件状态

2014-05-15 09:27 225 查看

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最后一次访问文件并读取的时间。
·LONG m_size文件逻辑长度,以字节数表示,如同DIR命令报告的那样。
·BYTE m_attribute文件属性字节。
·Char m_szFullName[_MAX_PATH]Windows字符集表示的全文件名。
lpszFileNameWindows字符集表示的文件路径,此路径可为绝对的或为相对的,但不包含网络名。
说明:

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

}

原文:飞鸽传书用 CFile::GetStatus 获取文件状态
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐