C++递归遍历文件夹(一)

最近在学C++,需要编写一个程序,其中需要递归遍历文件夹。

以下是实现递归遍历文件夹的代码:

// recursion.cpp

#include <iostream>
#include <boost/filesystem.hpp>

using namespace std;
using namespace boost::filesystem;

//定义函数recursion,递归遍历全部文件夹
void recursion(path src_path)
{
    directory_iterator end;             //迭代器的终点
    directory_iterator dir(src_path);     //迭代器的起点

    for (dir;dir!=end;dir++)
    {
        cout<<*dir<<endl;           //将当前路径输出
        if (is_directory(*dir)) recursion(*dir); //检查路径是否与目录对应(是文件夹则递归)
    }
}

int main()
{
    path src_path("F:\\A");    //给出初始路径    
    recursion(src_path);       //调用函数       
    return 0;
}

(这段程序使用了boost库,如果之前没有配置,需要下载并编译)

以下是运行结果:
这里写图片描述
结果显示:
文件夹A中有C,D两个文件夹和myfile.txt文件;
文件夹C中有文件夹E和文件file.txt;
文件夹D中有图片pic.png。

有用赞我哦!

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值