c – 获取文件夹中的有序文件列表

前端之家收集整理的这篇文章主要介绍了c – 获取文件夹中的有序文件列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用了boost :: filesystem :: directory_iterator来获取给定文件夹中所有可用文件的列表.

问题是我认为这种方法会按字母顺序给我文件,而结果似乎很随机.

是否有按字母顺序排序的奇特方式?

我目前的代码

if(boost::filesystem::is_directory(myFolder)){
    // Iterate existing files
    boost::filesystem::directory_iterator end_iter;
    for(boost::filesystem::directory_iterator dir_itr(myFolder);
        dir_itr!=end_iter; dir_itr++){

        boost::filesystem::path filePath;
        // Check if it is a file
        if(boost::filesystem::is_regular_file(dir_itr->status())){
            std::cout << "Reading file " << dir_itr->path().string() << std::cout;
        }
    }
}

解决方法

我见过的最好的方式是执行你想要的直接来自boost filesystem教程.在 this特定示例中,作者将文件名/目录附加到向量,然后使用std :: sort来确保数据按字母顺序排列.您可以轻松更新代码以使用相同类型的算法.

猜你在找的C&C++相关文章