说我在一个文件夹内的文件夹中有一些文件,例如:
folder1
|- folder11
| |- file1
|
|- folder12
|- file2
所有这些文件和文件夹都是在我的程序运行时创建的,之后应将其删除。为此,我尝试使用std::experimental::filesystem::remove_all(path)
作为path
的相对路径或绝对路径(我都尝试了)。这应该递归删除文件和文件夹,最后删除folder1
。
相反,会发生的是删除文件,然后,将引发异常并保留文件夹。
文件系统错误:无法全部删除:权限被拒绝[。\ path \ to \ folder1]
我正在Windows 7上使用 gcc 7.3.0 进行编译。不幸的是,使用此编译器,我无法检查folder1
是否发生相同的异常。
我也尝试过以管理员身份执行程序,但是仍然会抛出相同的异常。
从this answer开始,我了解到曾经有一个错误,但该错误已得到解决。
现在,我的问题是,如果我理解std::filesystem
的用法有误,是否错过了一些设置,以便正确使用此功能,或者在实现中可能还存在其他错误。 / p>