【发布时间】:2013-03-05 15:36:50
【问题描述】:
我猜这是一个简单的问题,但我找不到如何以正确的方式编写它。
我必须计算一个文件夹中的所有 *jpg、*png、*gif 文件。
【问题讨论】:
我猜这是一个简单的问题,但我找不到如何以正确的方式编写它。
我必须计算一个文件夹中的所有 *jpg、*png、*gif 文件。
【问题讨论】:
我认为你应该使用Boost::Filesystem。
#include <boost/filesystem.hpp>
#include <iostream>
#include <algorithm>
namespace fs = boost::filesystem;
int main()
{
int i = std::count_if(fs::directory_iterator("/your/path/here/"),
fs::directory_iterator(),
[](const fs::directory_entry& e) {
return e.path().extension() == ".png";
});
std::cout << i << std::endl;
return 0;
}
【讨论】:
<filesystem> 标头。只需将 boost::filesystem 替换为 std::tr2::sys 即可,此代码应该完全相同。