Скачиваний:
27
Добавлен:
02.05.2014
Размер:
393.5 Кб
Скачать

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

Аналогичные правила действуют для записи данных в файл:

BlockRead(F, Biffer, Count); BlockRead(F, Biffer, Count, Result);

Частичная запись возможна в том случае, если на диске заканчивается свободное место.

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

Текстовый файл содержит строки текста различной длины. Каждая строка завершается символами «Возврат каретки» (код 13) и «Перевод строки» (код 10). При обычном просмотре эти символы на экране не отображаются, а интерпретируются компьютером как признак окончания одной строки и начала следующей.

Внимание! Текстовый файл не эквивалентен объявлению типизированного файла с элементами типа «строка»!

Объявление текстового файла выглядит следующим образом:

Var

FT: Text;

Как и в случае других типов файлов, перед работой с текстовым файлом, предварительно необходимо связать файловую переменную с файлом на диске:

Assign(FT,’log.txt’);

При работе с текстовым файлом разрешается либо чтение, либо запись. Открытие файла для чтения или записи выполняется аналогично типизированным файлам процедурами ReSet или ReWrite. Для текстовых файлов, помимо процедур ReSet/ReWrite, определена еще одна процедура открытия:

Append(F);

Данная процедура открывает файл для записи, при этом новые данные добавляются в конец файла, прежнее содержимое файла сохраняется (в отличие от процедуры ReWrite).

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

Read(FT, i,j); ReadLn(FT, s);

Либо записывать в него данные:

Write(FT, a,b,c); WriteLn(FT, Result);

При чтении/записи данных применяются те же правила, что и при вводе/выводе с клавиатуры/на экран, т.е. можно использовать форматирование:

WriteLn(F, x:5:2, y:10:3);

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

Assign

ReSet

Append

ReWrite

Read / ReadLn

Write / WriteLn

Close

Соседние файлы в папке Методичка - Borland Pascal 7.0