Переименовать папку с помощью boost C : доступ запрещен

#boost #rename

#boost #переименовать

Вопрос:

Я пытаюсь переименовать папку с помощью Boost C , но я получил исключение «Доступ запрещен». Я ищу решение, но я не могу его найти!

Я просто делаю простое «переименовать (исходный, целевой);» !!!

Есть ли у вас идеи?

Комментарии:

1. посмотрите на разрешения с обеих сторон и справочную страницу для переименования, чтобы узнать причины EACCESS.

2. Проверьте, содержит ли какое-либо приложение (или ваша программа) в данный момент рабочий каталог в этой папке. Это наиболее вероятная причина и, вероятно, вызывает ту же ошибку. Вы можете сделать это с помощью утилиты «handle» из sysinternals.com

Ответ №1:

Вы также получите это сообщение об ошибке, когда целевая папка уже существует.

Ответ №2:

Возможно, source она заблокирована (например, открыта другим приложением) или у вас нет соответствующих разрешений на изменение файла.

Комментарии:

1. Спасибо, но я на Windows. Это папка, которую моя программа создала ранее! Как я могу тогда изменить эти разрешения? Кроме того, я попытался изменить разрешения в проводнике файлов, для каждого пользователя я установил «полный контроль», но ничего не изменилось, у меня все еще есть эта ошибка!!! Примечание: Я уверен, что нет никакой другой файловой операции, поэтому моя программа не блокирует!!

2. Я бы спросил о проблемах с правами доступа к файлам на SuperUser.com . Укажите операционную систему и то, что вы уже просмотрели и пробовали.

3. Но я не уверен, что это связано с разрешениями!! Я администратор своей системы … поэтому я изменил настройки этой папки, но я все еще получаю ту же ошибку!!!