zoukankan      html  css  js  c++  java
  • CFileFind

    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();    //URL串
          ::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;
    该函数用来判断查找的

  • 相关阅读:
    'Undefined symbols for architecture i386,clang: error: linker command failed with exit code 1
    The codesign tool requires there only be one 解决办法
    XCode iOS project only shows “My Mac 64bit” but not simulator or device
    Provisioning profile XXXX can't be found 的解决办法
    UIView 中的控件事件穿透 Passthrough 的实现
    Xcode4.5出现时的OC新语法
    xcode 快捷键(持续更新)
    打越狱包
    php缓存与加速分析与汇总
    浏览器的判断
  • 原文地址:https://www.cnblogs.com/liaocheng/p/4250965.html
Copyright © 2011-2022 走看看