我使用了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来确保数据按字母顺序排列.您可以轻松更新代码以使用相同类型的算法.