Chinaunix首页 | 论坛 | 博客
  • 博客访问: 531016
  • 博文数量: 576
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5020
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:47
文章分类

全部博文(576)

文章存档

2011年(1)

2008年(575)

我的朋友

分类:

2008-10-14 14:54:12

目录文件查找包装类 ffsco ( For WIN32 )


作者:




1、简介

  文件查找在很多场合会被派上用场,类ffsco将文件查找操作简单封装,使用只需要传递参数查找路径和文件匹配格式(可以继承该类的 match 方法实现自己的匹配算法)到find方法,查询结果(文件/目录等)被保存到类内部的vector容器,以后想怎么用都行。

要求:

  • 系统支持标准 C++/vector/string
  • 使用者了解 vector/string     
  • 2、说明

    使用WIN32提供的函数FindFirstFile/FindNextFile实现。子目录查找用递归方法。     

    3、使用方法

    将文件ffsco.h/ffsco.cpp加入,在使用的地方包含文件ffsco.h,e.g.

    #include "ffsco.h"

    加入名字空间使用声明:

    using namespace helper_coffs;

    定义ffsco类对象:

    ffsco o;

    设置是否查找子目录:

    //o.dirs(1);	//--查找子目录

    设置查找结果个数上限(默认65536/最大1048576当然可以自己修改限制):

    //o.limit(100);	//--最多查找100个

    开始查找(返回结果个数):

    int count = o.find(path, fext);
    //int count = o.find("c:\\winnt");
    //int count = o.find("c:\\winnt", "*.exe; *.dll; *.ini");
    //int count = o.find("c:\\winnt\\", "*.exe; *.dll; *.ini");

    取结果:

    ffsco::typeT coo;
    coo = o.co();	//--文件目录混合
    coo = o.co_dir();	//--全部目录
    coo = o.co_file();	//--全部文件

    使用结果:

    for (ffsco::typeT::iterator it = coo.begin(); coo.end() != it; it ++)
    {
    	cout << *it << endl;
    	//想怎么用???
    }

    就是这么简单:)

    更多使用请参考ffsco类提供的test()...     

    4、演示程序

  • test/简单使用
  • test2/演示程序
  •      

          演示程序效果图     

    5、结束语
    ...


    --------------------next---------------------

    阅读(294) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~