如何避免使用Boost Libraries删除remove_all上的目录?

时间:2013-01-30 17:34:28

标签: c++ boost boost-filesystem

我正在使用boost :: filesystem :: remove_all操作来删除目录的内容。

它正确删除了内容,但是,作为Boost Filesystem Documentation的状态,它也会删除目录本身。

是否有一种简单的方法可以保留目录,尽管它是空的?

1 个答案:

答案 0 :(得分:19)

我认为最好的方法是在文件夹内迭代并为每个元素执行remove_all。示例代码:

  namespace fs=boost::filesystem;
  fs::path path_to_remove("C:\\DirectoryToRemove");
  for (fs::directory_iterator end_dir_it, it(path_to_remove); it!=end_dir_it; ++it) {
    fs::remove_all(it->path());
  }