C++ boost::文件系统如何检测路径是文件还是目录

How C++ boost::filesystem detect if path is file or directory?

本文关键字:路径 文件 文件系统 boost 何检测 C++ 检测      更新时间:2023-10-16

在boost::filesystem库中,有没有办法确定路径是目录还是文件?

我的场景是:我有一些文件夹和文件,我需要所有文件的完整路径并将其推送到矢量,所以我这样做了:

for ( boost::filesystem::recursive_directory_iterator end, dir(pathBase);
    dir != end; ++dir ) {
    if ( boost::filesystem::exists( dir->path() ) )
    {
        std::cout << dir->path() << "n";  // full path
        filenames.push_back(dir->path().string());
    }
  }

问题是exists方法检查目录或文件是否存在,并且无法检测到它们的类型(文件或目录(。

那么如何仅获取带有增强库的文件呢?

听起来像你需要boost::filesystem::is_regular_file .