如何使用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();
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章