遍历文件目录,即把一个目录里的文件名都取出来。本文是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. win10 关闭自动维护计划任务

    重命名 C:\Windows\System32\Tasks\Microsoft\Windows 下的Defrag

  2. springmvc自己定义拦截器

    Spring MVC也能够使用拦截器对请求进行拦截处理,用户能够自己定义拦截器来实现特定的功能,自己定义的拦截器必须实现HandlerInterceptor接口. 直接看下样例: package co ...

  3. 【Linux】在Linux上查看并替换特殊字符

    现有windows上新建的一个txt文件file01.txt,内容如下: 我们通过ftp上传到Linux,在Linux下使用命令cat –A file01.txt查看文件内容发现该文件的结尾全是^M$ ...

  4. jquery之往一个CSS属性里写入多个值

    <html> <head> <title>test</title> <base href="<%=basePath%>&qu ...

  5. 3、eclipse 查看原始类出现The jar file rt.jar has no source attachment解决方法

    因为rt的source在jdk目录的src.zip文件里,将文件设置为jdk下的src.zip就行了.具体如下 Window>Preferences>Java>Installed J ...

  6. CentOS关闭休眠和屏保模式

    CentOS关闭休眠和屏保模式   本人因为特殊需求,想让某台Linux主机始终显示某个程序,显示器不能关机或者休眠或进入屏保模式. 环境:Ubuntu 11.10 最小化模式安装并安装有轻量级桌面o ...

  7. http1.1 协议响应方面参数

    HTTP1.1   提供了一个必须的Host字段,而且建立好一次连接之后可以重复使用.提高用户的上网体验. 响应信息 HTTP/1.1 200 OK                           ...

  8. centos7安装MySQL5.7无法设置密码问题

    前言 在使用centos7系统yum方式安装MySQL5.7后 不知道默认密码是多少  知道后没办法修改? 一.找到MySQL密码 service mysqld start vim /var/log/ ...

  9. JFinal常见问题和知识点笔记

    1.当主键Id命名不是“id”时,应该显式地将自定义的id指出来 例如: Db.deleteById("post_user","user_id", 5); 2. ...

  10. iOS - PairProgramming 结对编程

    1.PairProgramming 结对编程(Pair-Programming)可能是近年来最为流行的编程方式.所谓结对编程,也就是两个人写一个程序,其中,一个人叫 Driver,另一个人叫 Obse ...