如何使用boost::filesystem获取文件夹中的所有文件? how to use boost:: filesystem to get all files path?

笔者使用boost::filesystem进行了一些常见操作,希望对其进行梳理,方便自己和其他人;转载请注明:鹏心雕珑 http://blog.csdn.net/qq_25040013

  1. 参考文献: http://blog.csdn.net/tujiaw
  2. 源码:
#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();
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章