Скажем, у меня есть несколько файлов внутри папок внутри папки, например:
folder1
|- folder11
| |- file1
|
|- folder12
|- file2
Все эти файлы и папки создаются во время выполнения моей программы и впоследствии удаляются. Для этого я пытался использовать std::experimental::filesystem::remove_all(path)
, где path
был либо относительным, либо абсолютным путем к folder1
(я пробовал оба). Это должно рекурсивно удалять файлы и папки, заканчивая удалением folder1
.
Вместо этого происходит то, что файлы удаляются, после чего создается исключение, а папки остаются.
ошибка файловой системы: невозможно удалить все: разрешение отклонено [.\path\to\folder1]
Я компилирую с помощью gcc 7.3.0 в Windows 7. К сожалению, с помощью этого компилятора я не могу проверить и посмотреть, возникает ли такое же исключение с std::filesystem
.
Я также пытался запустить программу от имени администратора, но все равно возникает то же самое исключение.
Из этот ответ я понимаю, что раньше была ошибка, которая была исправлена.
Итак, теперь мой вопрос: если я неправильно понимаю использование remove_all()
, если я пропустил некоторые настройки, которые я должен сделать, чтобы правильно использовать эту функцию, или может быть другая ошибка в ее реализации.