飞鸽传书用 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 最后一次访问文件并读取的时间。
· LONG  m_size 文件逻辑长度,以字节数表示,如同DIR命令报告的那样。
· BYTE  m_attribute 文件属性字节。
· Char  m_szFullName[_MAX_PATH] Windows字符集表示的全文件名。

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
}


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

你可能感兴趣的:(GetStatus)