您的位置:首页 > 编程语言 > C语言/C++

c++ 遍历文件夹及其子文件夹

2016-04-19 23:36 477 查看
#include<stdio.h>
#include<io.h>

using namespace std;
vector<string> res;

vector<string> listdir(const string &path)
{

string dir= path;
vector<string> s;
_finddata_t fileDir;
long lfDir;

if((lfDir = _findfirst(dir.c_str(),&fileDir))==-1l)
printf("No file is found\n");
else{
do{

string str(fileDir.name);
if(str.find('.') == -1)
s.push_back(str);

}while( _findnext( lfDir, &fileDir ) == 0 );
}
_findclose(lfDir);
return s;

}

void findfile(const string &str)
{
string s = str;
vector<string> tmp = listdir(s+"\\*");
for(int i = 0;i<tmp.size();i++)
{

string temp = s+"\\"+tmp[i];
res.push_back(temp);
findfile(temp);
}
}
int main()
{

string s = "E:\\test";
findfile(s);

for(int i = 0;i<res.size();i++)
{
cout<<res[i]<<endl;
}
getchar();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: