Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Перед началом обмена данными с файлом выполняются операции:
- проверка наличия файла с данным именем при чтении;
- наличие свободного пространства на диске при создании файла;
- установка указателя файла на начало (позиционирование).
Этот процесс называют открытием файла. Как было показано выше в разделе 12, для обмена данными используются 3 стандартных потока. При открытии файла ОС присоединяет к нему свой индивидуальный поток (канал) передачи данных, который характеризуется целым числом, называемым дескриптором файла. В языке C функция открытия файла возвращает не дескриптор, а указатель на тип FILE, который представляет собой структуру, описанную в заголовочном файле stdio.h и содержащую в качестве элемента дескриптор файла. С каждым открытым потоком связан выделяемый ОС буфер передачи данных.
Процесс отсоединения файла от программы после окончания операций с ним называется закрытием файла. При этом освобождаются ресурсы (в основном, память). Файл закрывается указанием программиста либо по окончании работы программы. Рекомендуется закрывать файлы прямым указанием по следующим причинам:
- возможна случайная порча открытого файла из-за программных ошибок;
- часто требуется повторное открытие того же файла с другим способом обработки; например, файл сначала был открыт для записи в него информации, а в последующих фрагментах программы необходимо читать эти данные;
- при аварийном завершении программы информация, хранимая в сис-темном буфере пропадает.
Дата публикования: 2014-11-02; Прочитано: 196 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!