使用 C 的目录中的文件计数

新手上路,请多包涵

如何使用 C++ 标准库获取目录中的文件总数?

原文由 harik 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 870
2 个回答

你不能。您将能够获得的最接近的是使用类似 Boost.Filesystem

编辑:C++17 可以使用 STL 的 文件系统

原文由 Yacoby 发布,翻译遵循 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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题