#include <iostream> #include <io.h> #include <direct.h> #include <string> #include <vector> #include <iomanip> #include <ctime> using namespace std; void getFiles( string, vector<string>& ); int main() { vector<string> files; getFiles( ".", files ); // print the files get for (int j=0; j<files.size(); ++j) { cout << files[j] << endl; } return 0; } void getFiles( string path, vector<string>& 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); } }