c++按顺序读取目录内文件

#include 
#include 
#include 
#include 
#include 

using namespace std;


int fileNameFilter(const struct dirent *cur) {
    std::string str(cur->d_name);
    if (str.find(".bin") != std::string::npos) {
        return 1;
    }
    return 0;
}

std::vector getDirBinsSortedPath(std::string dirPath) {
    struct dirent **namelist;
    std::vector ret;
    int n = scandir(dirPath.c_str(), &namelist, fileNameFilter, alphasort);
    if (n < 0) {
        return ret;
    }
    for (int i = 0; i < n; ++i) {
        std::string filePath(namelist[i]->d_name);
        ret.push_back(filePath);
        free(namelist[i]);
    };
    free(namelist);
    return ret;
}

你可能感兴趣的:(c++)