1、64(路径要到最里层文件夹)
//path:文件路径 files:存文件名的vector suffix:文件后缀,不用加点
void get_file_name(string path, vector<string>& files, string suffix) { __int64 Handle; struct __finddata64_t FileInfo; string p; string suffix2 = "\\*." + suffix; if ((Handle = _findfirst64(p.assign(path).append(suffix2).c_str(), &FileInfo)) != -1) { do{ files.push_back(p.assign(path).append("\\").append(FileInfo.name)); } while (_findnext64(Handle, &FileInfo) == 0); _findclose(Handle); } }
2、32(参数意义一致,非原创,没找到原文链接,侵权删,可获取子文件夹内的文件)
void get_file_name(string path, vector<string>& files, string suffix) { //获取文件名列表放到参数中的vector long hFile = 0; struct _finddata_t fileinfo; string p; //cout << path<< endl; string suffix2 = "\\*." + suffix; if ((hFile = _findfirst(p.assign(path).append(suffix2).c_str(), &fileinfo)) != -1) { //cout << "sub" << endl; do{ if ((fileinfo.attrib & _A_SUBDIR)) { if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0) get_file_name(p.assign(path).append("\\").append(fileinfo.name), files, suffix); } else { files.push_back(p.assign(path).append("\\").append(fileinfo.name)); } } while (_findnext(hFile, &fileinfo) == 0); _findclose(hFile); } }
3、Matlab
fileFolder=fullfile('E:\test\0001'); dirOutput=dir(fullfile(fileFolder,'*.jpg')); fileNames={dirOutput.name}';