Ну, с помощью r + вы запросите доступ для записи в файл.Привилегию, которую труднее получить, выполните тройную проверку, чтобы учетная запись пользователя действительно имела право записи в папку.
Но звучит так, как будто вы уже это проверили.Следующее рассмотрение делится.Функция fopen () совершенно не подходит для современных многозадачных операционных систем, она позволяет любому процессу получать доступ к открытому файлу, а также читать и записывать в него.Это редко бывает хорошим концом, особенно совместное использование записи может привести к появлению мусора, только если процессы не согласовывают доступ к файлу.
Вот почему в Microsoft CRT есть функция fopen_s (), она гарантирует, что записьсовместное использование запрещено.Это очень редко, что вы хотели бы позволить это.Когда вы передаете «r», тогда разрешается совместное чтение.Когда вы передаете "r +", то нет совместное использование разрешено.Это может не сработать, если какой-то другой процесс уже открыл файл для чтения.
Вам нужно найти этот другой процесс.Утилита SysInternals 'Handle может помочь вам найти ее. Также учтите, что это может быть ваша собственная программа.
В общем, сами управляйте совместным использованием, используйте вместо этого функцию _wfsopen ().Обратите внимание, что для него нет безопасной версии, потому что она не нужна.