使用boost库来计算文件夹的大小

#include <boost/cstdint.hpp>
#include <algorithm>
#include <boost/filesystem.hpp>
#include <boost/bind.hpp>
#include <boost/iterators/transform_iterator.hpp>
namespace fs = boost::filesystem;
boost::uintmax_t dir_size( const fs::path &p)
{
  return std::accumulate(
    boost::make_transform_iterator(&fs::file_size, fs::recursive_directory_iterator(p)),
    boost::make_transform_iterator(&fs::file_size, fs::recursive_directory_iterator()),
    static_cast <boost::uintmax_t>(0));
}

你可能感兴趣的:(使用boost库来计算文件夹的大小)