笔者使用boost::filesystem进行了一些常见操作,希望对其进行梳理,方便自己和其他人;转载请注明:鹏心雕珑 http://blog.csdn.net/qq_25040013
- 参考文献: http://blog.csdn.net/tujiaw
- 源码:
#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;
int get_filenames(const std::string& dir, std::vector<std::string>& filenames)
{
fs::path path(dir);
if (!fs::exists(path))
{
return -1;
}
fs::directory_iterator end_iter;
for (fs::directory_iterator iter(path); iter != end_iter; ++iter)
{
if (fs::is_regular_file(iter->status()))
{
filenames.push_back(iter->path().string());
}
if (fs::is_directory(iter->status()))
{
get_filenames(iter->path().string(), filenames);
}
}
return filenames.size();
}