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语言遍历文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
OpenMP中For Construct对dynamic的调度方式详解
在本篇文章当中主要给大家介绍 OpenMp for construct 的实现原理,与他相关的动态库函数分析以及对 dynamic 的调度方式进行分析,希望对大家有所帮助2023-02-02
最新评论