В чем разница между доступом к файлу и открытием файла

У меня есть такое сомнение: ich Какие различия между: открыть файл и получить доступ к файлу?

Я работаю с fanotify, и меня интересуют только события FAN_ACCESS. Я запускаю свою программу, и когда я пытаюсь отредактировать какой-либо файл, программа делает то, что должна.

Сказал, что я написал несколько тестов, а в некоторых тестовых случаях используется такой код:

filesystem::ofstream acces_to_file;
acces_to_file.open('/tmp/test_file.txt');
acces_to_file <<  "Some text" << endl;
acces_to_file.close();

но удивительно, этот доступ не обнаружен моей программой. Я получаю доступ к тому же файлу из nano (даже без перезапуска упомянутой программы), и все снова работает.

Вот почему я думаю, что должна быть некоторая разница между доступом и открытием файла.

Программа всегда выполняется пользователем root.

Я установил флаги следующим образом:

fanotify_mark(fd, FAN_MARK_ADD, FAN_ACCESS | FAN_EVENT_ON_CHILD, AT_FDCWD, MONITOR_ROOT_PATH);

1

Решение

В общем, открытие файла говорит операционной системе, что вы хотите работать с файлом.

В общем, доступ к файлу — это то, как вы работаете с файлом: только чтение, только запись, чтение & написать. Некоторые права доступа также включают в себя последовательное или случайное.

1

Другие решения

Что именно вы спрашиваете? Если вы спрашиваете о возможности доступа к текстовому файлу, в который вы хотите записать, где вы храните текстовый файл? Если вы храните текстовый файл в месте, доступном только для чтения, запись в текстовый файл не удастся. Он все еще может открыть файл и закрыть его, но запись не будет выполняться. Например, если ваш текстовый файл находится в программном файле вашего ПК, у вас есть доступ на чтение только к тем элементам, которые там хранятся. Если вам нужен доступ для чтения / записи к файлу, сохраните его в C: \ Users \ Default \ AppData

-1

По вопросам рекламы [email protected]