Назначение файла

Для всех файлов необходимо предварительное связывание (назначение) их логических файлов (файловых переменных) с физическими файлами. Связывание осуществляется с помощью встроенной процедуры

ASSIGN(<файловая переменная>, < имя файла>);

Процедура assign(f,' <имя_файла>'); служит для установления связи между логическим файлом (файловой переменной ) f и физическим файлом - именем того файла, за действия с которым эта переменная будет отвечать.

На разных этапах работы программы одной и той же файловой переменной можно присваивать разные значения. Например, если в начале программы мы напишем

assign(f, 'input.txt');

то переменной f будет соответствовать файл, из которого производится считывание входных данных, вплоть до того момента, когда в программе встретится, скажем, команда

assign(f, 'output.txt');

после которой переменной f будет уже соответствовать тот файл, куда выводятся результаты.

Строка '<имя_файла>' может содержать полный путь к файлу. Если путь не указан, файл считается расположенным в той же директории, что и исполняемый модуль программы. Именно этот вариант обычно считается наиболее удобным.

По способу доступа к элементам различают файлы последовательного и прямого доступа.

Файлом последовательного доступа называется файл, к элементам которого осуществляется доступ, в той же последовательности, в которой они записывались.

Файлом прямого доступа называется файл, доступ к элементам которого осуществляется по адресу элемента. Прямой доступ возможен благодаря тому, что данные в этих файлах условно разделены на блоки одинакового размера, и перед операцией обмена выполняется установка текущей позиции файла на заданный блок. Прямой доступ в сочетании с отсутствием преобразований обеспечивает высокую скорость получения информации.

Все стандартные процедуры и функции Паскаля, обеспечивающие ввод-вывод данных, работают только с логическими файлами. Ввод-вывод выполняется через буферспециальную область оперативной памяти. Буфер выделяется для каждого открытого файла. При записи в файл вся информация сначала направляется в буфер и там накапливается до тех пор, пока весь буфер не заполнится. Только после этого или после специальной команды сброса происходит передача данных на внешнее устройство. При чтении из файла данные вначале считываются в буфер, причем данных считывается не столько, сколько запрашивается, а сколько поместится в буфер.

Механизм буферизации позволяет более быстро и эффективно обмениваться информацией с внешними устройствами.

Для текстовых и бестиповых файлов можно устанавливать размер буфера по своему усмотрению. По умолчанию размер для них равен 128 б.

Для организации ввода-вывода необходимо выполнить следующие действия.

· Объявить файловую переменную.

· Связать ее с физическим файлом.

· Открыть файл для чтения и/или записи.

· Выполнить операции ввода-вывода.

· Закрыть файл.

3.5 Инициация (открытие)файлов


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow