C语言实现遍历文件夹中的文件

 更新时间:2024年02月20日 10:20:47   作者:crazybobo1207  
这篇文章主要为大家详细介绍了如何使用C语言实现遍历文件夹中的文件,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下

文件目录如下,文件夹里还有一些txt文件未展示出来。

使用递归实现,深度优先遍历文件夹中的文件。

代码如下,用了一点C++的语法。

#include <io.h>
#include <iostream>  
using namespace std;
 
#define MAX_PATH_LENGTH 100
 
int Traverse(char dir[]);
 
int main()
{
    char dir[MAX_PATH_LENGTH] = "e:\\test\\*.*";
 
    Traverse(dir);
 
    return 0;
}
 
int Traverse(char dir[])
{
    intptr_t handle;
    _finddata_t findData;
 
    handle = _findfirst(dir, &findData);
    if (handle == -1)
    {
        cout << "no file exsit\n";
        return -1;
    }
 
    do
    {
        if ((findData.attrib & _A_SUBDIR) && (strcmp(findData.name, ".") != 0) && (strcmp(findData.name, "..") != 0))
        {
            //it is a directory
            cout << "subdir:" << findData.name << endl;
            char sub_dir[MAX_PATH_LENGTH] = { 0 };
            string s(dir);
            sprintf_s(sub_dir, "%s%s\\*.*", s.substr(0, s.length() - 3).c_str(), findData.name);
            Traverse(sub_dir);
        }
        else if (strcmp(findData.name, ".") == 0 || strcmp(findData.name, "..") == 0)
        {
            //it is . or .. , do nothing
        }
        else
        {
            //it is a file
            cout << "file:" << findData.name << endl;
        }
    } while (_findnext(handle, &findData) == 0);
 
    _findclose(handle);
}

运行结果如下:

到此这篇关于C语言实现遍历文件夹中的文件的文章就介绍到这了,更多相关C语言遍历文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解C语言之文件操作(上)

    详解C语言之文件操作(上)

    这篇文章主要介绍了关于C语言文件操作方法的相关资料,小编觉得这篇文章写的还不错,需要的朋友可以参考下,希望能够给你带来帮助
    2021-11-11
  • C语言实现斐波那契数列(非递归)的实例讲解

    C语言实现斐波那契数列(非递归)的实例讲解

    下面小编就为大家带来一篇C语言实现斐波那契数列(非递归)的实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 一文详解C++20新特性

    一文详解C++20新特性

    本文主要介绍了一文详解C++20新特性,包括模块、协程、范围、日期时区、格式化等并发等特性介绍,替代头文件、提升编译效率、支持异步逻辑、增强日期处理、类型安全格式化及简化并发编程
    2026-06-06
  • c++调用python实现图片ocr识别

    c++调用python实现图片ocr识别

    所谓c++调用python,实际上就是在c++中把整个python当作一个第三方库引入,然后使用特定的接口来调用python的函数或者直接执行python脚本,本文介绍的是调用python实现图片ocr识别,感兴趣的可以了解下
    2023-09-09
  • C++语言基础 this和static关键字

    C++语言基础 this和static关键字

    这篇文章主要介绍了C++语言基础 this和static关键字,需要的朋友可以参考下
    2020-01-01
  • C++之STL--string的使用

    C++之STL--string的使用

    这篇文章主要介绍了C++之STL--string的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • VC++操作SQLite简单实例

    VC++操作SQLite简单实例

    这篇文章主要介绍了VC++操作SQLite,很实用的功能,需要的朋友可以参考下
    2014-07-07
  • C++设置系统时间及系统时间网络更新的方法

    C++设置系统时间及系统时间网络更新的方法

    这篇文章主要介绍了C++设置系统时间及系统时间网络更新的方法,涉及网络程序设计与系统函数的使用,需要的朋友可以参考下
    2014-10-10
  • C++算法之在无序数组中选择第k小个数的实现方法

    C++算法之在无序数组中选择第k小个数的实现方法

    这篇文章主要介绍了C++算法之在无序数组中选择第k小个数的实现方法,涉及C++数组的遍历、判断、运算等相关操作技巧,需要的朋友可以参考下
    2017-03-03
  • C++运算符重载的实现示例

    C++运算符重载的实现示例

    本文主要介绍了C++运算符重载的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-12-12

最新评论