Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по информатике все.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
986.62 Кб
Скачать

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

Текстовый файл в программе объявляется через файловую переменную стандартным типом Text и представляет собой последовательность символьных строк переменной длины, разделенных специальным символом "конец строки". В конце текстового файла размещается специальный признак "конец файла". Эти признаки проверяются соответствующими логическими функциями:

  • Eoln( var F: text ): boolean, - возвращает значение TRUE, если достигнут конец строки текстового файла, связанного с файловой переменной F;

  • Eof( var F: text ): boolean, - возвращает значение TRUE, если достигнут конец текстового файла, связанного с файловой переменной F.

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

Чтение из текстового файла

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

Read( < имя файловой переменной >, < список ввода > );

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

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

Очевидно, что действие процедуры

Readln( < имя файловой переменной >, < список ввода >);

эквивалентно действию двух процедур:

Read( < имя файловой переменной >, < список ввода >); Readln( < имя файловой переменной > );

Чтения констант из текстового файла осуществляется также процедурами:

Read( < имя файловой переменной >, < список ввода >);

Readln( < имя файловой переменной >, < список ввода >);

Список ввода может содержать переменные целого и вещественного типа. В этом случае значения переменных в файле отделяются символами-разделителями, в качестве которых используются: символы пробела, табуляции или конца строки. При вводе очередной числовой переменной пропускаются символы-разделители и выделяется подстрока, являющаяся символьным представлением числовой константы соответствующего типа. Эта подстрока преобразуется в числовое значение и присваивается переменной. Если в списке ввода указана переменная типа Char, то при вводе ей присваивается очередной символ. Этим символом может быть и символ-разделитель. Чтение констант из текстового файла поясним на примере. Пусть текстовый файл 'file1.txt' содержит следующую последовательность символов:

49 A 56 3.5

Тогда в результате выполнения следующего фрагмента:

. . . var     F: text;     I, J: integer;     C1, C2: char;     R: real; . . .     assign(F, 'file1.txt');     reset(F);     read(F, I, C1, C2, J, R); . . .

переменные получат следующие значения:

I = 49, C1 = ' ', C2 = 'A', J = 56, R = 3.5.

Напомним, что стандартный файл INPUT является текстовым. При его использовании можно опускать имя файловой переменной в процедурах Read, Readln и в функциях Eoln, Eof.