Ввод данных из текстового файла

Основные понятия

Текстовые файлы

 

Текстовые файлы предназначены для хранения текстовой информации и используются чаще всего как файлы с исходными данными или с результатами работы программы. Текстовый файл трактуется как совокупность строк различной длины, состоящих из символов любых типов. К каждой строке возможен только последовательный доступ. В конце каждой строки текстового файла ставится признак EOLN (от англ. End Of LiNe - конец строки), а в конце всего файла - специальный признак EOF (от англ. End Of File - конец файла). Признак EOLN – это последовательность управляющих кодов ASCII: возврата каретки #13 (CR) и перевода строки #10 (LF). Признак конца файла EOF – это код 26 ASCII (CTRL – Z).

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

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

 

Процедуры Read и Readln

Процедуры Read и Readln обеспечивают ввод (копирование) в ОП значений переменных (чисел, символов и строк), определенных в списке данных оператора или из текстового файла, созданного с помощью текстового редактора, или с клавиатуры.

Логическая переменная F должна быть типа TEXT.

Список ввода (данных) — последовательность имен переменных, разделенных запя­тыми: скалярных, элементов массива или элементов записи.

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

Процедура Readln идентична процедуре Read. Список данных в ней не обязателен, если она содержит список данных, то переход на следующую строку осуществляется после ввода всех значений списка данных данной процедуры.

По­сле считывания значения в последнюю переменную списка данных процедуры Readln происходит переход на следующую строку файла (экрана), т. е. остав­шаяся часть строки до EOLN (конца строки) пропускается. Так что следующая процедура Read или Readln начнет ввод данных с первого символа следующей строки. Напри­мер:

Read (Fid, А, В, С); Read (С, D, Е); Readln (I, G);

Процедура Readln может быть без параметров. Например:

Readln (FID) ; - для файла FID; Readln; - для файла INPUT.

Вызов процедуры в виде Readln приводит к приостановке вы­полнения программы до нажатия клавиши Enter. Это можно использовать, на­пример, для просмотра очередных значений, выведенных на экран, а после про­смотра нажать Enter.