ВУЗ:
Составители:
Рубрика:
16
Append(f) – процедура, открывающая текстовый файл в режиме добавле-
ния. Файловый указатель при этом устанавливается на маркер конца файла. Если
файл не существует, то происходит ошибка времени выполнения.
Eoln(f) – функция, возвращающая True, если файловый указатель стоит
на маркере конца строки.
SeekEof(f) – функция, пропускающая все пробелы, символы табуляции и
символы перехода на
новую строку, после чего возвращающая то же, что и
Eof(f).
SeekEoln(f) – функция, пропускающая все пробелы и символы табуля-
ции, после чего возвращающая то же, что и Eoln(f).
Две последние функции обычно используются для ввода чисел.
Для текстовых файлов подпрограммы Truncate, Seek, FileSize,
FilePos не применяются: их использование приведет к ошибке компиляции
.
Рассмотрим несколько примеров, иллюстрирующих основные действия с
текстовыми файлами.
Пример 1. Дан текстовый файл a.txt, содержащий целые числа, разделенные
любым количеством пробелов или символов перехода на новую строчку. Найти
их количество и сумму.
Приведем пример подобного файла:
5 3 <EOLN>
4<EOLN>
77 8 <EOF>
Решение 1. Поэлементная обработка.
Вместо Eof будем использовать функцию SeekEof, которая пропускает
пробельные
символы перед тем как проанализировать состояние конца файла. Это
важно при считывании последнего числа: после считывания числа 8 файловый
указатель будет находиться на пробеле после него; вызов SeekEof продвинет
указатель на конец файла и вернет True. Для обработки возможных ошибок вво-
да окаймим также тело цикла блоком try с пустой секцией except
: в случае
ошибки в файле нечисловые символы будут пропущены. Далее приводится пол-
ный текст первого варианта решения.
uses SysUtils;
var f: text;
s,c,x: integer;
begin
Assign(f,'a.txt');
Reset(f);
s:=0;
c:=0;
while not SeekEof(f) do
Страницы
- « первая
- ‹ предыдущая
- …
- 12
- 13
- 14
- 15
- 16
- …
- следующая ›
- последняя »