I have used boost::filesystem::directory_iterator
in order to get a list of all the available files into a given folder.
The problem is that I supposed this method would give me the files in alphabetical order, while the results seem pretty random.
Is there any fancy way of alphabetically sorting them?
My current code:
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;
}
}
}
The fanciest way I've seen to perform what you want is straight from the boost
filesystem tutorial. In this particular example, the author appends the filename/directory to the vector and then utilizes a std::sort
to ensure the data is in alphabetical order. Your code can easily be updated to use this same type of algorithm.