
C/C++
Чем собсна отличается чтение от открытия файла?

Когда ты открываешь файл, ты говоришь системе: "вот этот файл мне нужен для некоторых целей". При этом в соответствии с целями и задачами система может заблокировать доступ другим приложениям к файлу. Или нет. Или заблокировать тебе, если файл уже кто-то использует. Или если у тебя на него нет прав для твоих задач. В общем, это пердварительный этап, который должен подтвердить твой доступ к файлу и, возможно, запретить его другим.
А уже получив разрешение на чтение ты можешь его читать как хочешь. Или не читать.
А уже получив разрешение на чтение ты можешь его читать как хочешь. Или не читать.
Отличается так же как создание динамического массива и запись/чтение в него.
Открытие - запрос к ОС на доступ к файлу, ОС выделяет под операции чтения-записи с файлом память и какой-то транслирующий алгоритм (мостик), отдает эту область программе, программа создает поток для работы с этой областью, формирует всякую информацию о файле, и выдает вам указатель.
Чтение - это просто чтение с выделенной области памяти, в которую транслятор подгружает нужный кусок файла. Небольшие файлы помещаются в эту область целиком. И сохранение изменений на диск происходит при закрытии файла.
(Но это не точно)
Открытие - запрос к ОС на доступ к файлу, ОС выделяет под операции чтения-записи с файлом память и какой-то транслирующий алгоритм (мостик), отдает эту область программе, программа создает поток для работы с этой областью, формирует всякую информацию о файле, и выдает вам указатель.
Чтение - это просто чтение с выделенной области памяти, в которую транслятор подгружает нужный кусок файла. Небольшие файлы помещаются в эту область целиком. И сохранение изменений на диск происходит при закрытии файла.
(Но это не точно)
Примерно тем же, чем отличается открытие книги от её чтения. Не открыв книги вы не сможете её прочитать. Если открыли, у вас появляется возможность её читать, но это не обязательно, можно читать, а можно просто её закрыть.
Похожие вопросы
- Запись и чтение двумерного массива в бинарный файл
- Программирование, чтение из файла, с++
- C++ Работа с файлами.
- Помогите решить задачку по теме работа с файлами C++
- Нужно найти в бинарном файле введенные пользователем данные.
- Как в C++ продолжить классы разные сгруппировано в файлах .h и .cpp, при этом не переопределяя классы эти?
- Работа с текстовым файлом. С++
- Модули. Коммуникация между двумя .c файлами.(Си)
- Input.txt и output.txt. Работа с текстовыми файлами C++.
- Си заголовочный файл, немного бы пролить свет