Well, Boost.Filesystem is good, but heavy (boost.filesystem + boost.system).
Here is a simple ls utility as an example:
#include <algorithm> #include <iostream> #include <platformstl/platformstl.hpp> #include <platformstl/filesystem/readdir_sequence.hpp> using platformstl::readdir_sequence; int main(int argc, char *argv[]) { readdir_sequence entries(argc > 1 ? argv[1] : ".", readdir_sequence::files|readdir_sequence::directories); std::copy(entries.begin(), entries.end(), std::ostream_iterator<char const*>(std::cout, "\n")); return 0; }
You can also check out the recls project (recursive LS) at Sourceforge for more details.
source share