如果路径是文件或目录,C ++ boost :: filesystem如何检测?

时间:2017-03-23 19:35:46

标签: c++ boost

在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库的文件?

1 个答案:

答案 0 :(得分:3)

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