Лекция №19. Текстовые файлы. Процедуры и функции для обработки текстовых файлов

Текстовые файлы предназначены для хранения текстовой информации. Именно в таких файлах хранятся исходные тексты программ. Текстовый файл – это последовательность строк различной длины, отделенных друг от друга специальными символами-разделителями.

Доступ к каждой строке возможен только последовательно, начиная с первой. При создании текстового файла в конце каждой строки ставится специальный признак EOLN (End Of Line), а в конце всего файла – признак EOF (End Of File). Эти признаки можно протестировать одноименными логическими функциями - EOLN и EOF.

EOLN (<ф.п.>): Boolean;

EOF(<ф.п.>): Boolean;

Для чтения из текстового файла используется процедуры чтения:

1. READ(<ф.п.>, х1, х2, . . . , хN);

2. READLN (<ф.п.>);

3. READLN (<ф.п.>, х1, х2, . . . , хN);

где х1, х2, . . . , хN – список ввода, содержащий имена переменных разных типов (integer, real, char, string), значения которых процедура считывает из текстового файла, начиная с элемента, на котором установлен текущий указатель. Файловая переменная имеет тип text.

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

Для записи в текстовый файл используются процедуры:

1. WRITE(<ф.п.>, х1, х2, . . . , хN);

2. WRITELN(<ф.п.>);

3. WRITELN(<ф.п.>, х1, х2, . . . , хN);

где х1, х2, . . . , хN – список вывода, содержащий имена переменных разных типов (integer, real, char, string), значения которых процедура записывает в текстовый файл, начиная с элемента, на котором установлен текущий указатель. Файловая переменная имеет тип text.

Процедура WRITELN выполняет те же действия, что и WRITE и дополнительно вставляет признак конца строки.

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

var f1: text; a,b,c: real;

Readln(f1,a,b,c);

процедура readlnвыполнит чтение из очередной строки файла, связанного с ф.п. f1, последовательности цифр, интерпретируемой как три вещественных числа, значения которых будут присвоены переменным a,b,c.

Следующая стандартная процедура инициирует запись в существующий текстовый файл, при чем указатель файла устанавливается в конец файла:

APPEND (<ф.п.>);

Процедура APPEND (<ф.п.>)применима только в текстовых файлах. Если текстовый файл был открыт с помощью процедуры RESETилиREWRITE, то использование процедуры APPENDприведет к закрытию этого файла и открытию его вновь, но уже для добавления записей.

При завершении работы с файлом используется процедура CLOSE(<ф.п.>).

Функция проверки конца строки SEEKEOLN(<ф.п.>)аналогична EOLN(<ф.п.>),но пропускает пробелы и позиции табуляции перед проверкой конца строки.

Функция проверки конца файла SEEKEOF(<ф.п.>) аналогична EOF (<ф.п.>),но пропускает пробелы и позиции табуляции перед проверкой конца файла.

Пример:

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

var

f: text;

str: string;

begin

assign(f, 'file01.txt'); - назначение файловой переменной f файла 'file01.txt'

rewrite(f); - создание файла

writeln(f,'Этот текстовый файл содержит 1 строку'); - запись в файл

close(f); - закрытие файла

append(f); - открытие файла и установка указателя в конец

str:= 'В это файл добавим еще строку текста !!!!!';

writeln(f,str); - запись в файл 'file01.txt'

close(f); - закрытие файла 'file01.txt'

reset(f); - открытие файла 'file01.txt'

while not eof(f) do

begin

readln(f,str); чтение из файла 'file01.txt' и вывод на экран

writeln(str);

end;

close(f); - закрытие файла 'file01.txt'

writeln('=================');

readln;

end.








Дата добавления: 2017-11-04; просмотров: 2609;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.