4
我想統計當前目錄中的文件數量以及加載數組中的所有文件名。如果可能,我想知道如何過濾文件擴展名也C++ - 加載所有文件名+計算當前目錄中文件的數量+篩選文件擴展名
我想統計當前目錄中的文件數量以及加載數組中的所有文件名。如果可能,我想知道如何過濾文件擴展名也C++ - 加載所有文件名+計算當前目錄中文件的數量+篩選文件擴展名
鏈接與-lboost_filesystem
#include <iostream>
#include <string>
#include <vector>
#include <boost/algorithm/string/case_conv.hpp>
#include <boost/filesystem.hpp>
int main(int argc, char ** argv)
{
std::string ext = ".jpg";
std::vector<std::string> files;
for (boost::filesystem::directory_iterator it(boost::filesystem::initial_path());
it != boost::filesystem::directory_iterator(); ++it)
{
if (boost::filesystem::is_regular_file(it->status()) &&
boost::algorithm::to_lower_copy(it->path().extension()) == ext)
{
files.push_back(it->path().filename());
}
}
std::cout << "Number of files: " << files.size() << std::endl;
std::copy(files.begin(), files.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
return 0;
}
真棒下面的程序:)我解決我的dirent.h庫的問題,但這是一個很好的參考,以Boost.Filesystem的。 tyvm :) – 2010-03-08 21:27:16