C++获取某个文件夹下的所有文件
获取某个文件夹下的所有文件,返回各文件的路径加文件名
path为某文件夹的路径:eg. char * filePath = "C:\\Users\\WUQP\\Desktop\\test_devided";
1 void getFiles( string path, vector<string>& files, vector<string> &ownname) 2 { 3 /*files存储文件的路径及名称(eg. C:\Users\WUQP\Desktop\test_devided\data1.txt) 4 ownname只存储文件的名称(eg. data1.txt)*/ 5 6 //文件句柄 7 long hFile = 0; 8 //文件信息 9 struct _finddata_t fileinfo; 10 string p; 11 if((hFile = _findfirst(p.assign(path).append("\\*").c_str(),&fileinfo)) != -1) 12 { 13 do 14 { 15 //如果是目录,迭代之 16 //如果不是,加入列表 17 if((fileinfo.attrib & _A_SUBDIR)) 18 { /* 19 if(strcmp(fileinfo.name,".") != 0 && strcmp(fileinfo.name,"..") != 0) 20 getFiles( p.assign(path).append("\\").append(fileinfo.name), files, ownname ); */ 21 } 22 else 23 { 24 files.push_back(p.assign(path).append("\\").append(fileinfo.name) ); 25 ownname.push_back(fileinfo.name); 26 } 27 }while(_findnext(hFile, &fileinfo) == 0); 28 _findclose(hFile); 29 } 30 }
posted on 2017-05-13 16:28 HelloShijam 阅读(17794) 评论(1) 编辑 收藏 举报