@Mercury13
Программист на «си с крестами» и не только

Как сочетать умную перезапись файла с правами доступа?

Есть программа (не важно, какая). Нужно сохранить на диск файл документа. Я оказался между двух огней.
1. Взять и перезаписать — при любом глюке, как программы, так и системы хранения, даже при нехватке места на диске, файл исчезнет.
2. Создать файл проекта с нуля, и если запись удастся, удалить старый и переименовать новый — теряются права доступа.

Как поступить? Какие есть стандартные пути разрешить это противоречие?
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 2
@nApoBo3
И это одна из причин почему надо 1000 раз подумать перед тем как давать права на отдельный файл, права на файл должны наследоваться от каталога. Системно это не решить никак, у вашей программы запросто может не быть разрешений на удаление исходного файла и даже на чтение его разрешений. Прописать требования к правам доступа в документации и пусть админы сами разбираются с их зоопарком.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Windows
software engineer
Как вариант - скопировать предыдущий документ во временный файл, а потом перезаписать текущий файл. Если операция успешна - то удалить временный файл. Если операция не успешна, то либо восстановить данные из временного файла, либо если программа крешнулась, на диске будет предыдущий документ в другом файле (да, с другими правами, но будет).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы