如何实现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++遍历某个文件夹下所有文件这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!