Основы программирования. Файлы. Рекурсия - 4 стр.

UptoLike

Составители: 

6
В зависимости от типа файл может быть открыт только на чтение, только на
запись или на чтение и запись одновременно. Поскольку текстовые файлы имеют
только последовательный доступ, то они могут быть открыты либо только на чте-
ние, либо только на запись. Двоичные же файлы имеют произвольный доступ и
поэтому открываются
на чтение и запись одновременно.
Чтобы осуществлять доступ к файлу на диске, в программе описывается
файловая переменная, которая связывается с конкретным файлом с помощью спе-
циальной процедуры. Затем файл открывается, и с ним производятся операции
чтения/записи. По окончании работы файл следует закрыть.
Файловые переменные представляют собой скрытые записи, хранящие раз
-
личную информацию о файле. Эти переменные запрещено присваивать друг дру-
гу и передавать по значению как параметры подпрограмм.
Файловая переменная, связанная с текстовым файлом, в языке Паскаль имеет
тип text, для типизированного файлатип file of тип компонент, для бести-
пового файлатип file. Перечислим основные подпрограммы для работы с
файлами, общие для типизированных и текстовых файлов.
C каждой файловой переменной после открытия файла связывается некото-
рый буферобласть оперативной памяти, в которую данные из файла считыва-
ются опережающим образом. Наличие буфера ускоряет операции с файлом. Все
операции чтения/записи осуществляются не с самим файлом, а с его буфером. Ес-
ли
мы считываем из буфера и данные в буфере заканчиваются, то осуществляется
чтение в буфер следующей порции информации из файла. Если мы производим
запись в буфер и он заканчивается или если мы перемещаемся в другое место
файла с помощью операции произвольного доступа, то содержимое буфера запи-
сывается в файл, после чего в
буфер считывается новое содержимое файла. Если
файл был открыт на запись, то при закрытии файла содержимое буфера сбрасыва-
ется в этот файл. По этой причине если не закрыть файл, то последняя информа-
ция, записанная в него и содержащаяся в буфере, может не сохраниться на диске.
2.1 Основные процедуры и функции для работы с файлами
Assign(f,name)процедура, связывающая файловую переменную f с
файлом на диске с именем name. Вызывается до открытия файла. Не требует на-
личия файла на диске.
Reset(f)процедура, открывающая существующий файл и устанавли-
вающая файловый указатель на его начало. Если файла на диске нет, происходит
ошибка времени выполнения. Для текстового файла открывает его
на чтение.
Rewrite(f)процедура, создающая новый файл с именем, указанным в
процедуре Assign, и открывающая его. Если файл уже есть, то он удаляется и
создается пустой файл. Если файл по каким-либо причинам нельзя создать (на-
пример, имя файла содержит запрещенные символы), происходит ошибка време-
ни выполнения. Для текстового файла
открывает его на запись.