#include
#include <io.h>
#include <direct.h>
#include
#include
#include
#include
using namespace std;
void getFiles( string, vector& );
int main(int argc, char **argv)
{
vector files;
getFiles( "argv[1]", files );
// print the files get
for (int j=0; j<files.size(); ++j){
cout << files[j] << endl;
}
return 0;
}
void getFiles( string path, vector& files )
{
//文件句柄
long hFile = 0;
//文件信息
struct _finddata_t fileinfo;
string p;
if ((hFile = _findfirst(p.assign(path).append("\*").c_str(),&fileinfo)) != -1)
{
do
{
//如果是目录,迭代之
//如果不是,加入列表
if ((fileinfo.attrib & _A_SUBDIR))
{
if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0)
getFiles( p.assign(path).append("\\").append(fileinfo.name), files );
}
else
{
files.push_back(p.assign(path).append("\\").append(fileinfo.name) );
}
} while(_findnext(hFile, &fileinfo) == 0);
_findclose(hFile);
}
}
因篇幅问题不能全部显示,请点此查看更多更全内容