我使用了 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具体示例中,作者将文件名/目录附加到 vector ,然后使用 std::sort
确保数据按字母顺序排列。您的代码可以很容易地更新为使用这种相同类型的算法。
关于c++ - 获取文件夹中文件的有序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30983154/