飞鸽传书用 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字符集表示的全文件名。

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 获取文件状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值