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


Текстовые файлы состоят из последовательности символов, разделенных на строки. Каждый текстовый файл разделяется на строки неопределенной длины, которые заканчиваются символом конец строки (к.с.). Весь файл заканчивается символом конец файла (к.ф.). схематически это выглядит так:

 

S1 S2 Sk1 к.с.   S1 S2 Sk2 к.с.   к.ф.

Каждый символ представлен во внутреннем коде ASCII и занимает 1 байт. Текстовый файл отличается от символьного не только делением на строки. В текстовый файл можно записать и из него прочитать информацию любого типа. Если эта информация не символьная, то в процессе чтения или записи происходит ее преобразование из символьной формы во внутреннюю и обратно.

К текстовым файлам возможен только последовательный доступ. С текстовыми файлами работают различные редакторы текстов. Текстовые файлы имеют стандартный тип TEXT.

 

Формат описания

VAR < имя файла>: TEXT;

Посимвольные операции ввода-вывода выполняются для текстовых файлов процедурами READ и WRITE. Строки обрабатываются специальными процедурами для текстовых файлов READLN и WRITELN. Кроме того, для текстовых файлов применяются процедуры ASSIGN, RESET, REWRITE, CLOSE, EOF, EOLN. APPEND (<имя файла>); – процедура открывает существующий текстовый файл для добавления записей.

Для текстовых файлов нельзя использовать процедуры и функции SEEK, FILEPOS, FILESIZE, т.к. элементы имеют разную длину.

INPUTиOUTPUT – стандартные текстовые файлы для ввода с клавиатуры и вывода на экран.

Каждая строка текстового файла завершается признаком конца строки EOLN, который образуется сочетанием двух символов: возврата каретки и перевода строки.

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

READ (< имя >, <пер1>[,<пер2>,.., <перN>]);

READLN (< имя >, <пер1>[,<пер2>,.., <перN >]);

Здесь < имя > - файловая переменная, а <пер1>,<пер2>,.., <перN > - переменные типа String, в которые должна считываться информация.

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

Для записи информации в файл используются процедуры WRITEи WRITELN. Их формат такой же, что и у процедур READ и READLN.

EOLN(<имя файла>):Boolean; - функция обнаружения конца строки.

 

Пример 4. Дан текстовый файл F1.Необходимо заменить во всех записях этого файла код группы DC-101 на DC-201. Скорректированные записи поместить в файл F2.

 

VAR F1,F2: TEXT;

POLE:STRING;

NAME:STRING[12];

PZ: INTEGER;