#c #windows #boost
#c #Windows #boost
Вопрос:
Я использую boost 1.61 в Windows, и я пытаюсь удалить каталог с помощью boost::filesystem::remove_all()
после проверки, что это каталог. Иногда это работает, но в других случаях я получаю исключение
"boost::filesystem::remove The directory is not empty:"
с путем к каталогу, который я пытаюсь удалить.
Путь правильный, и когда я получаю это исключение, я проверяю папку и обнаруживаю, что там нет файлов. Я проверил реализацию библиотеки boost и обнаружил, что в Windows он вызывает RemoveDirectoryW
, который говорит
Путь к удаляемому каталогу. Этот путь должен указывать пустой каталог, и вызывающий процесс должен иметь доступ для удаления к каталогу.
Учитывая, что папка была пуста, когда я ее проверял, что еще могло привести к сбою?
Комментарии:
1. Скрытые файлы, то есть папка казалась пустой, когда ее не было.