Используемый файл C / C ++ - PullRequest
1 голос
/ 01 июня 2011

Я сейчас изучаю C / C ++ и читаю о файловых операциях.Предположим, что программа A работает с внешним файлом (скажем, текстовым файлом), а другая другая программа B, скажем, пытается переместить файл (или, что еще хуже, удалить его).Можно ли сказать ОС сообщить программе B, что файл используется, даже если он не был создан программой A?

Ответы [ 2 ]

5 голосов
/ 01 июня 2011

То, что вы пытаетесь сделать, называется блокировка файла .Поиск "блокировка файла в C".

0 голосов
/ 01 июня 2011

Файл является ресурсом.

Если вам случится иметь значение open в C / C ++ или на любом другом языке, ОС "сдает" этот файл вашей программе.Пока у вас есть контроль над файлом (ресурсом), ОС не позволяет другим процессам получить контроль над ним (т. Е. Переместить файл, удалить файл и т. Д.).

Вот почему так важно close aфайл после того, как вы закончили работать с ним.Это говорит ОС, что вы больше не контролируете этот ресурс, и другие процессы могут получить к ним полный доступ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...