CFileFind类学习

 
CFileFind类的使用总结
2007-7-7
1 CFileFind 类的声明文件保存在 afx.h 头文件中。
2 、该类的实现的功能:执行本地文件的查找 ( 查找某个具体的文件,查找某类文件 x*.x* ,查找所有文件 *.*)
3 CFileFind 类是 CGopherFileFind CFtpFileFind 类的基类。
4 CFileFind 类的构造函数 ::CFileFind() 和关闭函数 ::Close() 我会成对使用。
5 CFileFind 类的成员函数我根据其操作特性划分为3类:查找操作类、获得文件属性类、判断文件属性类。 ( 下面我先进行函数罗列并没有完整的描述函数的参数 )
查找操作类
      ::FindFile();
      ::FindNextFile();
获得文件属性类
      ::GetCreationTime();
      ::GetLastAccessTime();
      ::GetLastWriteTime();
::GetFileName();
::GetRoot();
      ::GetFilePath();
      ::GetFileTitle();
      ::GetFileURL();
      ::GetLength();
     
判断文件属性类
      ::IsArchived();
      ::IsCompressed();
      ::IsDirectory();
      ::IsDots();
      ::IsHidden();
      ::IsNormal();
      ::IsReadOnly();
      ::IsSystem();
      ::IsTemporary();
      ::MatchesMask();
6 CFileFind 类中成员函数使用应注意的顺序
      在创建了 CFileFind 对象后,先执行 ::FindFile() 函数,然后执行 ::FindNextFile() ,然后选择执行(获得文件属性类)的函数或者(判断文件属性类)函数。
7 CFileFind 类成员函数的详细分析
virtual BOOL FindFile(LPCTSTR pstrName = null,DWORD dwUnused = 0);
该函数若返回 0 则表明执行成功, 0 则表明执行不成功。
pstrName :需要查找的文件名,例:“ E:// 编程工具 //VC++//MFC 例子 .rar ”,“ E:// 编程工具 //VC++//MFC*.rar ”,“ E:// 编程工具 //VC++//*.* ”,也可以是 NULL 表示“ *.* ”。
dwUnused :必须为 0
 
virtual BOOL FindNextFile();
该函数返回值 0 还有符合条件的文件 0 表示是最后一个文件。
 
virtual BOOL GetCreationTime(FILETIME *pFileTime) const;
virtual BOOL GetCreationTime(CTime& refTime) const;
该函数用来获得查找到的某个文件的创建时间,返回值 0 获得创建时间成功操作, 0 表示执行获得创建时间失败或者 FindNextFile() 没有被执行的时候。
FILETIME  * :容纳时间的结构指针
CTime& :容纳时间的对象地址
此处介绍: FILETIME CTime 相互转换的处理方法:
FILETIME CTime 的方法:
A CTime 对象在初始化时可以传递 FILETIME 结构
      FILETIME ft
      CTime time(ft)
B 、将 FILETIME 转换为 SYSTEMTIME ,然后 CTime 对象在初始化时可以传递 SYSTEMTIME 结构
      FILETIME ft
      SYSTEMTIME st
      BOOL bSuccess ::FileTimeToSystemTime(&ft , &st);
      CTime time(st)
CTime FILETIME 方法:
CTime time(CTime::GetCurrentTime());
SYSTEMTIME st;
time.GetAsSystemTime(st);
FILETIME ft;
::SystemTimeToFileTime(&st,&ft);
 
virtual BOOL GetLastAccessTime(FILETIME *pFileTime) const;
virtual BOOL GetLastAccessTime(CTime& refTime) const;
该函数用来获得某个文件最后被访问的时间,非 0 表示执行成功, 0 表示执行失败或者 FindNextFile() 函数没有执行的时候。
 
virtual BOOL GetLastWriteTime(FILETIME *pFileTime) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;
该函数用来获得某个文件最后被访问的时间,非 0 表示执行成功, 0 表示执行失败或者 FindNextFile() 函数没有执行的时候。
 
virtual CString GetFilePath() const;
该函数用来获得查找到的文件绝对路径,必须在执行了 FindNextFile() 后该函数才能执行成功。
返回的结果是 CString 对象,例“ E:// 编程工具 //VC++//MFC.rar
 
virtual CString GetFileName() const;
该函数用来获得查找到的文件的全称,必须在执行了 FindNextFile() 后该函数才能执行成功。
返回的结果是 CString 对象,例“ MFC.rar
 
virtual CString GetFileTitle() const;
该函数用来获得查找到的文件的名称,必须在执行了 FindNextFile() 后该函数才能执行成功。
返回的结果是 CString 对象,例“ MFC
 
virtual CString GetRoot() const;
该函数用来获得查找到的文件的根目录,必须在执行了 FindNextFile() 后该函数才能执行成功。
返回的结果是 CString 对象,例“ E:// 编程工具 //VC++//
 
virtual CString GetFileURL() const;
该函数用来获得查找到的文件的 URL 路径,必须在执行了 FindNextFile() 后该函数才能执行成功。
返回的结果是 CString 对象,例“ file://E:// 编程工具 //VC++//MFC.rar
 
DWORD GetLength() const;
该函数返回值获得查找到的文件的长度,必须在执行了 FindNextFile() 后该函数才能执行成功。
 
BOOL IsArchived() const;
该函数用来判断查找的文件属性是否是档案文件,非 0 表示是, 0 表示不是。必须在执行了 FindNextFile() 后该函数才能执行成功
 
BOOL  IsCompressed() const;
该函数用来判断查找的文件属性是否是压缩文件,非 0 表示是, 0 表示不是。必须在执行了 FindNextFile() 后该函数才能执行成功
 
BOOL IsDirectory() const;
该函数用来判断查找的文件属性是否是路径文件,非 0 表示是, 0 表示不是。必须在执行了 FindNextFile() 后该函数才能执行成功
 
BOOL IsDots() const;
该函数用来判断查找的文件属性是否是“ . ”,“ .. ”,非 0 表示是, 0 表示不是。必须在执行了 FindNextFile() 后该函数才能执行成功
 
BOOL IsHidden() const;
该函数用来判断查找的文件属性是否隐藏文件,非 0 表示是, 0 表示不是。必须在执行了 FindNextFile() 后该函数才能执行成功
 
BOOL IsNormal() const;
该函数用来判断查找的文件属性是否正常文件,非 0 表示是, 0 表示不是。必须在执行了 FindNextFile() 后该函数才能执行成功
 
BOOL IsReadOnly() const;
该函数用来判断查找的文件属性是否只读文件,非 0 表示是, 0 表示不是。必须在执行了 FindNextFile() 后该函数才能执行成功
 
BOOL IsSystem() const;
该函数用来判断查找的文件属性是否系统文件,非 0 表示是, 0 表示不是。必须在执行了 FindNextFile() 后该函数才能执行成功
 
BOOL IsTemporary() const;
该函数用来判断查找的文件属性是否临时文件,非 0 表示是, 0 表示不是。必须在执行了 FindNextFile() 后该函数才能执行成功
 
BOOL MatchesMask(DWORD dwMask) const;
该函数用来判断查找的文件的综合属性,非 0 表示是, 0 表示不是。必须在执行了 FindNextFile() 后该函数才能执行成功
dwMask 参数的使用方法:几种文件属性采用或运算( |
文件属性的结构定义:
      FILE_ATTRIBUTE_ARCHIVE :档案文件
      FILE_ATTRIBUTE_COMPRESSED :压缩文件
      FILE_ATTRIBUTE_DIRECTORY :路径文件
      FILE_ATTRIBUTE_NORMAL :正常文件
      FILE_ATTRIBUTE_READONLY :只读文件
      FILE_ATTRIBUTE_SYSTEM :系统文件
      FILE_ATTRIBUTE_TEMPORARY :临时文件
      FILE_ATTRIBUTE_HIDDEN :隐藏文件
 
 
  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值