Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
46
Добавлен:
15.06.2014
Размер:
154.11 Кб
Скачать

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

Это файлы последовательного доступа. Они предназначены для хранения текстовой информации. Текстовые файлы связываются с файловыми переменными типа TEXT: Var <ф.п.>: TEXT; Текстовый файл в ТП трактуется как совокупность строк переменной длины. Доступ к каждой строке возможен лишь последовательно, начиная с первой строки. При создании текстового файла в конце каждой строки ставятся специальный признак EOLN (End Of LiNe - конец строки), а в конце всего файла - признак EOF (End Of File - конец файла) с кодом 26. Тестируются эти признаки одноименными логическими функциями. Для доступа к записям текстового файла применяются процедуры READ, READLN, WRITE, WRITELN. В них можно использовать переменное число параметров, в качестве которых могут быть символы, строки и числа. Первым параметром в любой из перечисленных процедур может стоять файловая переменная. В этом случае осуществляется обращение к дисковому файлу или логическому устройству, связанному с файловой переменкой процедурой ASSIGN, и открытому процедурами RESET или REWRITE. Если файловая переменная не указана, происходит обращение к стандартным файлам INPUT и OUTPUT. Процедура READ обеспечивает ввод символов, строк и чисел. Она имеет следующий формат

READ(<ф,п.>,<список_ввода>); или READ(<список_ввода>); При вводе переменной типа CHAR выполняется чтение одного символа из файла и присваивается считанное значение переменной. При вводе переменной типа STRING количество считанных символов Равно максимальной длине строки, если раньше не встретились символы CR, EOF. В этом случае эти символы в строку не помещаются. Если количество символов во входной строке больше максимального размера строки, то "лишние" символы до конца строки отбрасываются, а новое обращение к READ возвращает пустую строку. Таким образом READ не в состоянии прочесть последовательность строк: читается только одна строка, остальные окажутся пустыми. Для ввода последовательности строк символов применяется процедура READLN. При вводе числовых данных процедура READ сначала выделяет подстроку во входном потоке по следующему правилу: все ведущие пробелы, символы табуляции и маркеры конца строк пропускаются до первого значащего символа; и, наоборот, после первого значащего символа любой из начисленных символов или символ EOF указывает на конец подстроки. Выделенная таким образом подстрока рассматривается как символьное представление числовой константы и присваивается переменной. Фактически весь файл рассматривается как одна длинная строка чисел. Процедура READLN также обеспечивает ввод символов, строк и чисел. Она идентична процедуре READ за исключением того, что после считывания последней переменной списка ввода оставшаяся часть строки д0 маркера EOLN пропускается, поэтому следующее обращение к READLN или READ начинается с первого символа новой строки. Процедура WRITE обеспечивает вывод информации в текстовый файл или передачу ее на логическое устройство. Формат обращения: WRITE(<ф,п.>,<список_выода>); или WRITE(<список_вывода>);

Вывод процедурой WRITELN отличается от WRITE тем, что выводимая строка завершается кодами CR (возврат каретки) и LT (перевод строки). т. е. добавляет маркер конца строки. При вызове WRITELN можно опускать <список_вывода>. В этом случае в файл передается признак конца строки EOLN, что при выводе на экран приводит к переводу курсора в начало следующей строки:

Соседние файлы в папке 1 курс 2 семестр