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

Можно ли иметь несколько файлов FILE *, указывающих на один и тот же файл с разными режимами доступа? Например

допустим, я имел fopen("File1.bin","wb",fp1) и я выполняю операции записи и БЕЗ закрытия файла, используя fclose, я вызываю fopen("File1.bin","rb",fp2) и попробуйте использовать операции записи на нем. это должно потерпеть неудачу. но fp2 по-прежнему записывает содержимое в него, когда я использую другой режим доступа. Зачем?

1

Решение

fopen () открывает файловый поток, который является абстракцией файла. Конечно, дескриптор файла открывается внизу, но вполне допустимо иметь параллельный доступ к одному и тому же файлу через разные дескрипторы (которые могут даже находиться в разных процессах).

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

3

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


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