遍历文件目录,即把一个目录里的文件名都取出来。本文是CFileFind类的使用实例的笔记。下面的程序是从一个目录出发,把这个目录里的所有成员按着层次输出。

代码如下:

void TravelFolder(CString strDir, int nDepth)

{

    CFileFind filefind;                                         //声明CFileFind类型变量

    CString strWildpath = strDir + _T("//*.*");     //所有文件都列出。

    if(filefind.FindFile(strWildpath, ))                    //开始检索文件

    {

        BOOL bRet = TRUE;

        while(bRet)

        {

            bRet = filefind.FindNextFile();                 //枚举一个文件

            if(filefind.IsDots())                                 //如果是. 或 .. 做下一个

                continue;

            for (int i = ; i < nDepth; i ++)                 //层次空格打印

            {

                TRACE(_T("    "));

            }

            if(!filefind.IsDirectory())                          //不是子目录,把文件名打印出来

            {

                CString strTextOut = strDir + CString(_T("//")) + filefind.GetFileName();

                TRACE(_T("file = %s/r/n"), strTextOut);

            }

            else                                                    //如果是子目录,递归调用该函数

            {

                CString strTextOut = strDir + CString(_T("//")) + filefind.GetFileName();

                TRACE(_T("dir = %s/r/n"), strTextOut);

                TravelFolder(strTextOut, nDepth + );//递归调用该函数打印子目录里的文件

            }

        }

        filefind.Close();

    }

}

参考:MFC文件,文件夹操作

VC++ 遍历目录的更多相关文章

  1. VC遍历访问目录下的文件

    访问目录文件夹下的文件是经常需要的操作,C/C++和win32接口都没有提供直接调用的函数.在这里总结了几个经常用到的函数,通过MFC的CFileFind函数递归遍历实现,包括以下几个功能函数: 查找 ...

  2. 在Linux下和Windows下遍历目录的方法及如何达成一致性操作

    最近因为测试目的需要遍历一个目录下面的所有文件进行操作,主要是读每个文件的内容,只要知道文件名就OK了.在Java中直接用File类就可以搞定,因为Java中使用了组合模式,使得客户端对单个文件和文件 ...

  3. linux下遍历目录

    遍历目录的主要思想 由于目录就是一颗树,所以遍历目录就转换为遍历一棵树.谈到树的遍历就再熟悉不过了,有树的前序.层次和后序遍历,我使用的是前序遍历,后序遍历和前序遍历本质上一样,而层次遍历要比前两个麻 ...

  4. php源码之遍历目录下的所有的文件

    <?php //遍历目录下的所有的文件 -- 递归调用 // http://www.manongjc.com/article/1495.html function get_all_file1($ ...

  5. Python遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例

    遍历目录下所有文件的最后一行进行判断若错误及时邮件报警-案例: #-*- encoding: utf-8 -*- __author__ = 'liudong' import linecache,sys ...

  6. node.js整理 03文件操作-遍历目录和文本编码

    遍历目录 递归算法 遍历目录时一般使用递归算法,否则就难以编写出简洁的代码. 递归算法与数学归纳法类似,通过不断缩小问题的规模来解决问题 function factorial(n) { if (n = ...

  7. NSFileManager 遍历目录

    NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *documentPath = [NSHomeDirecto ...

  8. php无限遍历目录-修正版

    最近在能php目录操作,搞了一个目录无限遍历: 使用的函数有: isset()判断某个变量是否定义 chdir() 将当前目录改变为指定的目录. opendir() 打开目录. readdir()读取 ...

  9. 可编译为 UNICODE 和 ANSI 版本的遍历目录树程序_0.1

    路径暂时是写死的 编译两个版本的程序: g++  treeT.cpp -municode -D_UNICODE -o treeT_UNIg++  treeT.cpp -o treeT_ASC 为了观察 ...

随机推荐

  1. 新安装的MySQL的简单配置

    修改配置文件 bind-address = 10.6.20.1 port = 3306 character_set_server = utf8 max_connect_errors = 1000000 ...

  2. javascript实现掉落弹出层------Day29

    顾名思义.所谓"掉落弹出层".就是出现一个弹出层,而出现的位置是从上方向下掉落.掉落到指定的位置停止,这样分析起来.和"右下角弹出提醒对话框"比起来,确有异曲同 ...

  3. UIkit – 轻量级前端框架

    原始地址:UIkit – 轻量级前端框架 高效轻量级前端框架: 来自:咕噜分享

  4. java中list、set和map 的区别(转)

    作者:佚名出处:IT专家网论坛 2009-06-17 13:00   List按对象进入的顺序保存对象,不做排序或编辑操作.Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素 ...

  5. Ubuntu的一些小技巧, 备忘

    Ubuntu下打开Scroll Lock键盘灯 一直以为灯坏了, 后来发现在win7下工作正常... 原来是跟系统有关系的. 在Ubuntu18.04下可以通过这个命令开关Scroll Lock灯 # ...

  6. JavaScript-各种插件

    上传插件: 首推:uploadify http://www.admin10000.com/document/2980.html 滚动条插件: http://www.admin10000.com/doc ...

  7. reindex-maven 私服(nexus)架设以及项目管理中遇到的问题及解决方案(updating)

    ---    用maven 的过程中 大问题小问题实在是不少 ,就不一篇文章一篇文章的写了,干脆写在一起 ---- -------  nexus 加索引 点击Administration菜单下面的Re ...

  8. Nginx配置https和wss

    微信小程序不仅要求必须是HTTPS和WSS,还要求URL里不能有端口号. 一.使用Nginx足够了 常见的服务器有三种: Nginx IIS Apache 这三种服务器都可以配置https,但是没必要 ...

  9. php 类和对象

    ⾯向对象是⼀种编程范式,它将对象作为程序的基本单元,将程序和数据封装起来, 以此来提⾼程序的重⽤性.灵活性和可扩展性. ⽬前很多语⾔都⽀持⾯向对象编程,既然对象对象是⼀种范式,其实这就和具体的编程语⾔ ...

  10. jquery实现高度的获取-位置函数

    一.位置函数 1.offset() 获取匹配元素在当前视口的相对偏移.返回的对象包含两个整形属性:top 和 left.此方法只对可见元素有效. 2.innerWidth() 获取第一个匹配元素内部区 ...