如何使用 C++ 标准库获取目录中的文件总数?
原文由 harik 发布,翻译遵循 CC BY-SA 4.0 许可协议
从 C++17 开始,可以使用 STL 完成:
auto dirIter = std::filesystem::directory_iterator("directory_path");
int fileCount = std::count_if(
begin(dirIter),
end(dirIter),
[](auto& entry) { return entry.is_regular_file(); }
);
一个简单的 for 循环也可以:
auto dirIter = std::filesystem::directory_iterator("directory_path");
int fileCount = 0;
for (auto& entry : dirIter)
{
if (entry.is_regular_file())
{
++fileCount;
}
}
请参阅 https://en.cppreference.com/w/cpp/filesystem/directory_iterator
原文由 John Doggett 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答1.3k 阅读✓ 已解决
1 回答1.1k 阅读✓ 已解决
4 回答840 阅读
1 回答914 阅读
1 回答948 阅读
1 回答714 阅读
1 回答816 阅读
你不能。您将能够获得的最接近的是使用类似 Boost.Filesystem
编辑:C++17 可以使用 STL 的 文件系统 库