لیست فایل ها و فلدر های یک فلدر - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

لیست فایل ها و فلدر های یک فلدر

0 امتیاز

چطور در کتابخانه boost  لیست فایل ها و فلدر های یک فلدر را بدست بیارم؟

سوال شده شهریور 20, 1394  بوسیله ی korosh (امتیاز 155)   11 32 37

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

#include <boost/filesystem.hpp>

namespace fs = boost::filesystem;

int getIndex(const std::vector<std::string>& list,const std::string& str){
	int result = -1;
	auto pos = std::find(list.begin(),list.end(),str);
	if (pos != list.end())
		result = std::distance(list.begin(), pos);
	return result;

}
std::vector<std::string> get_file_list(const std::string& path, const std::vector<std::string>& filter)
{
	std::vector<std::string> result;
	if (!path.empty())
	{
		fs::path path_(path);
		fs::recursive_directory_iterator end;

		for (fs::recursive_directory_iterator i(path_); i != end; ++i)
		{
			if (fs::is_regular_file(i->path())){
				auto ext = i->path().extension().string();
				auto index = getIndex(filter, ext);
				if (index != -1)
				   result.push_back(i->path().string());
			}
		}
	}
	return result;
}

 

پاسخ داده شده مرداد 12, 1395 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
انتخاب شد اردیبهشت 13, 1396 بوسیله ی korosh
...