bool getFiles(const std::string path, std::vector<std::string>& files, std::string postfix) {
intptr_t hFile = 0;
struct _finddatai64_t fileinfo;
std::string p;
if ((hFile = _findfirsti64(p.assign(path).append("/*.").append(postfix).c_str(), &fileinfo)) != -1) {
do {
if ((fileinfo.attrib ^ _A_SUBDIR)) {
files.push_back(p.assign(path).append("/").append(fileinfo.name));
}
} while (_findnexti64(hFile, &fileinfo) == 0);
_findclose(hFile);
return true;
}
return false;
}
#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <direct.h>
#include <io.h>
bool getFiles1(const std::string path, std::vector<std::string>& files) {
intptr_t hFile = 0;
struct _finddatai64_t fileinfo;
std::string p;
if ((hFile = _findfirsti64(p.assign(path).append("\\*.").c_str(), &fileinfo)) != -1) {
do {
if ((fileinfo.attrib & _A_SUBDIR)) {
if (strcmp(fileinfo.name,".") !=0 && strcmp(fileinfo.name,"..")!=0)
files.push_back(p.assign(path).append("\\").append(fileinfo.name));
}
} while (_findnexti64(hFile, &fileinfo) == 0);
_findclose(hFile);
return true;
}
return false;
}
void main()
{
string path_L = ("D:\\calibration\\L1");
string postfix = "png";
vector<string> filenames_L;
getFiles(path_L, filenames_L, postfix);
vector<string> file1;
getFiles1("D:\\L1",file1);
for (int i = 0; i < 4; i++)
{
//cout << filenames_L[i] << endl;
cout << file1[i] << endl;
}
}