111*_*111 16
据我所知,你必须在大多数操作系统上进行迭代.
你可以看一下boost.filesystem,这个库有一个recursive_directory_iterator,它会迭代,但是系统上的文件会累积大小.
include <boost/filesystem.hpp>
int main()
{
namespace bf=boost::filesystem;
size_t size=0;
for(bf::recursive_directory_iterator it("path");
it!=bf::recursive_directory_iterator();
++it)
{
if(!bf::is_directory(*it))
size+=bf::file_size(*it);
}
}
Run Code Online (Sandbox Code Playgroud)
PS:你可以通过使用std :: accumulate和lambda我只是CBA来使这个更清洁
| 归档时间: |
|
| 查看次数: |
17657 次 |
| 最近记录: |