如何实现C++遍历某个文件夹下所有文件
这篇文章主要讲解了“如何实现C++遍历某个文件夹下所有文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现C++遍历某个文件夹下所有文件”吧!
#include<iostream>#include<string>#include<io.h>#include<cstdio>#include<cstdlib>#include<cstring>using namespace std;void fileSearch(string path){ long hFile = 0; /* _finddata_t 存储文件各种信息的结构体,<io.h>; */ struct _finddata_t fileInfo; string pathName; /* \\* 表示符合的所有文件; 没有找到即文件夹为空,退出; assign 表示把 pathName清空并置为path; append 表示在末尾加上字符串; c_str 返回一个const char* 的临时指针; _findfirst 搜索与指定的文件名称匹配的第一个实例,若成功则返回第一个实例的句柄,否则返回-1L; 函数原型:long _findfirst( char *filespec, struct _finddata_t *fileinfo ); */ if ( ( hFile = _findfirst(pathName.assign(path).append("\\*").c_str(), &fileInfo) ) == -1) return ; do { cout << path+"\\"+fileInfo.name << endl; /* 文件夹下有 . 和 .. 目录,不能进入搜索; _A_SUBDIR 表示文件夹属性; */ if( strcmp(fileInfo.name,"..") && strcmp(fileInfo.name,".") && fileInfo.attrib==_A_SUBDIR ) fileSearch(path+"\\"+fileInfo.name); } while ( _findnext(hFile, &fileInfo) == 0 ); /* _findnext 搜索与_findfirst函数提供的文件名称匹配的下一个实例,若成功则返回0,否则返回-1 ; _findclose 结束查找; */ _findclose(hFile); return ;}int main(){ string path="E:\\Git"; fileSearch(path); system("pause"); return 0;}
感谢各位的阅读,以上就是“如何实现C++遍历某个文件夹下所有文件”的内容了,经过本文的学习后,相信大家对如何实现C++遍历某个文件夹下所有文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!