windows中遍历指定文件夹下的所有子文件夹

来源:互联网 发布:满档红帽哥布林数据 编辑:程序博客网 时间:2024/06/05 04:37

前面我给出了windows下面指定文件夹下面指定类型文件的遍历程序,这里,再给出遍历指定文件夹下的所有子文件夹的程序:

#include "stdafx.h"#include <Windows.h>#include <vector>#include <string>#include "iostream"using namespace std; int GetSubFolders(string& folder, vector<string>& subFolders ){   subFolders.clear();   WIN32_FIND_DATAA fileFindData;   string nameWC = folder + "//*";   HANDLE hFind = ::FindFirstFileA(nameWC.c_str(), &fileFindData);   if (hFind == INVALID_HANDLE_VALUE)   {      cout<<"folder path error...."<<endl;      system("pause");      return 0;   }    do   {    if (fileFindData.cFileName[0] == '.')  {     continue; // filter the '..' and '.' in the path   }     if (fileFindData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)  {     subFolders.push_back(folder+"//"+fileFindData.cFileName);   }    } while (::FindNextFileA(hFind, &fileFindData));   FindClose(hFind);   return (int)subFolders.size();}  int _tmain(int argc, _TCHAR* argv[]){    string folder = "c://OpenCV";    vector<string> subDir;    int count = GetSubFolders(folder, subDir);    cout<<"count = "<<count<<endl;    for (int i=0; i<count; i++)   {       cout<<subDir[i].c_str()<<endl;   }   system("pause");   return 0;}


from: http://blog.csdn.net/carson2005/article/details/6327375

0 0