Ввод данных из текстового файла
Основные понятия
Текстовые файлы
Текстовые файлы предназначены для хранения текстовой информации и используются чаще всего как файлы с исходными данными или с результатами работы программы. Текстовый файл трактуется как совокупность строк различной длины, состоящих из символов любых типов. К каждой строке возможен только последовательный доступ. В конце каждой строки текстового файла ставится признак 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.