Windows
#include <io.h>
void findFile(string dir, vector<string> &vecstr)
{
WIN32_FIND_DATAA stFD;
HANDLE h;
string temp;
temp = dir + "\\*";
h = FindFirstFileA(temp.c_str(), &stFD);
while (FindNextFileA(h, &stFD))
{
temp = dir + "\\" + stFD.cFileName;
if (temp == dir + "\\..")
{
continue;
}
else
{
vecstr.push_back(stFD.cFileName);
}
}
return;
}
Lindows
int scanFiles(vector<string> &fileList, string inputDirectory)
{
inputDirectory = inputDirectory.append("/");
DIR *p_dir;
const char* str = inputDirectory.c_str();
p_dir = opendir(str);
if( p_dir == NULL)
{
cout<< "can't open :" << inputDirectory << endl;
}
struct dirent *p_dirent;
while ( p_dirent = readdir(p_dir))
{
string tmpFileName = p_dirent->d_name;
if( tmpFileName == "." || tmpFileName == "..")
{
continue;
}
else
{
fileList.push_back(tmpFileName);
}
}
closedir(p_dir);
return fileList.size();
}