C++遍历文件夹文件(Qt和Windows两种遍历)

**
C++遍历文件夹文件(Qt和Windows两种遍历)**

Qt遍历文件夹文件

//利用Qt遍历
QStringList ErgodicFile::fErgodicFile(const QString &config)
{
    //判断路径是否存在
    QDir dir(config);
    if(!dir.exists())
    {
        return QStringList();
    }
    //获取所选文件类型过滤器
    QStringList filters;
//    文件过滤
    filters<<QString("*.exe")<<QString("*.dll")<<QString("*.tif")<<QString("*.png");
    //定义迭代器并设置过滤器
    QDirIterator dir_iterator(config,
        filters,
        QDir::Files | QDir::NoSymLinks,
        QDirIterator::Subdirectories);
    QStringList string_list;
    while(dir_iterator.hasNext())
    {
        dir_iterator.next();
        QFileInfo file_info = dir_iterator.fileInfo();
        QString absolute_file_path = file_info.absoluteFilePath();
        string_list.append(absolute_file_path);
    }
    for(int nu=0;nu<string_list.length();nu++)
    {
        qDebug() << string_list[nu];
    }
    return string_list;
}

windows遍历文件夹文件

//利用windows遍历
int ErgodicFile::fErgodicFile(const QString &config)
{
    //目标文件夹路径
    std::string inPath = "./*.tif";//遍历文件夹下的所有.tif文件
    //用于查找的句柄
    long handle;
    struct _finddata_t fileinfo;
    //第一次查找
    handle = _findfirst(inPath.c_str(), &fileinfo);
    if (handle == -1)
        return -1;
    do
    {
        //找到的文件的文件名
        printf("%s\n", fileinfo.name);

    } while (!_findnext(handle, &fileinfo));
    _findclose(handle);
    system("pause");
    return 0;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值