我想在C ++ 17中删除包含子文件夹和文件的文件夹。我正在使用experimental/filesystem
namespace filesys = std::experimental::filesystem;
...
uintmax_t n = filesys::remove_all("tmp");
cout << "Deleted " << n << " files or directories\n";
但是当我运行此代码时,程序抛出异常
在抛出'std :: experimental :: filesystem :: v1 :: __ cxx11 :: filesystem_error'的实例后终止调用
what():filesystem错误:无法全部删除:目录不为空[tmp]
中止
使用compier g ++ 5.4.0
文档说:
以递归方式删除p的内容(如果是目录)及其所有子目录的内容,然后删除p本身,就像重复应用POSIX删除一样。不遵循符号链接(删除符号链接,而不是其目标)
我的代码有问题吗?