头文件:
dirent.h
代码:
void direntTest()
{
std::string rootPath="/home/.../test/samples";
std::vector<std::string> imageNames;
auto dir=opendir(rootPath.c_str());
if((dir)!= nullptr)
{
struct dirent *entry;
entry=readdir(dir);
while (entry)
{
auto temp=rootPath+"/"+entry->d_name;
if(strcmp(entry->d_name,"")==0||strcmp(entry->d_name,".")==0||strcmp(entry->d_name,"..")==0)//忽略当前以及上一级文件夹
{
entry=readdir(dir);
continue;
}
imageNames.push_back(temp);
entry=readdir(dir);
}
}
for(size_t i=0;i<imageNames.size();++i)
{
std::cout<<"image Path:"<<imageNames[i]<<std::endl;
}
}
参考: