#include <dirent.h>
std::vector<std::string> getFiles(std::string cate_dir) {
vector<string> files;
DIR *dir;
struct dirent *ptr;
char base[1000];
if ((dir = opendir(cate_dir.c_str())) == NULL) {
perror("Open dir error...");
exit(1);
}
while ((ptr = readdir(dir)) != NULL) {
if (strcmp(ptr->d_name, ".") == 0 || strcmp(ptr->d_name, "..") == 0) ///current dir OR parrent dir
continue;
else if (ptr->d_type == 8) ///file
files.push_back(ptr->d_name);
else if (ptr->d_type == 10) ///link file
continue;
else if (ptr->d_type == 4) ///dir
{
files.push_back(ptr->d_name);
}
}
closedir(dir);
sort(files.begin(), files.end());
return files;
}
C++目录下所有文件名
于 2022-06-06 20:40:26 首次发布