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语言遍历文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Qt实现绘制网格背景的示例代码

    Qt实现绘制网格背景的示例代码

    这篇文章主要介绍了Qt如何实现绘制网格背景,并且能实现窗口大小调整时网格背景也自动调整重绘,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-06-06
  • C语言实现学生信息管理系统(单链表)

    C语言实现学生信息管理系统(单链表)

    这篇文章主要为大家详细介绍了C语言实现学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 基于Qt编写的文件传输工具

    基于Qt编写的文件传输工具

    这篇文章主要为大家详细介绍了如何基于Qt编写一个文件传输工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-12-12
  • C语言数组指针的小例子

    C语言数组指针的小例子

    这篇文章介绍了,用c语言实现的一个数组指针的小例子,有需要的朋友可以参考一下
    2013-07-07
  • 一篇文章教你如何用C语言实现strcpy和strlen

    一篇文章教你如何用C语言实现strcpy和strlen

    这篇文章主要为大家介绍了C语言实现strcpy和strlen的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • C语言实现二叉树遍历的迭代算法

    C语言实现二叉树遍历的迭代算法

    这篇文章主要介绍了C语言实现二叉树遍历的迭代算法,包括二叉树的中序遍历、先序遍历及后序遍历等,是非常经典的算法,需要的朋友可以参考下
    2014-09-09
  • C++实现简单通讯录

    C++实现简单通讯录

    这篇文章主要为大家详细介绍了C++实现简单通讯录,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • 详解C++句柄类

    详解C++句柄类

    本篇文章给大家详细分析了C++句柄类的相关知识点,对此有需要的朋友跟着学习参考下吧。
    2018-06-06
  • 深入ORACLE变量的定义与使用的详解

    深入ORACLE变量的定义与使用的详解

    本篇文章是对ORACLE变量的定义与使用进行了详细的分析与介绍,需要的朋友参考下
    2013-05-05
  • Matlab控制电脑摄像实现实时人脸检测和识别详解

    Matlab控制电脑摄像实现实时人脸检测和识别详解

    人脸识别过程主要由四个阶段组成:人脸检测、图像预处理、面部特征提取和特征识别。这篇文章主要介绍了如何使用MATLAB控制笔记本电脑的摄像头,并进行实时人脸检测和识别,需要的可以参考一下
    2022-10-10

最新评论