预计 2017 年的新标准增加了 std::filesystem
。使用它,我如何计算一个目录中的文件(包括子目录)的数量?
我知道我们可以做到:
std::size_t number_of_files_in_directory(std::filesystem::path path)
{
std::size_t number_of_files = 0u;
for (auto const & file : std::filesystem::directory_iterator(path))
{
++number_of_files;
}
return number_of_files;
}
但这似乎有点矫枉过正。是否存在更简单、更快捷的方法?
原文由 Boiethios 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为不存在轻松获取目录中文件数量的方法,但您可以使用
std::distance
而不是手写循环来简化代码:您可以使用
count_if
来获取仅实际文件的数量或应用任何其他过滤器: