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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With