ВУЗ:
Составители:
Рубрика:
97
Далее, как и для всех других видов файлов, необходимо в
операторной части программы связать файловую переменную с реальным
именем файла на диске с помощью процедуры assign, например:
assign(f,'my_file.dat');
Основные отличия в использовании файлов без типа заключаются в
задании процедур открытия, чтения и записи. Рассмотрим их.
При открытии файлов без типа с помощью
процедур reset и rewrite
допускается использование дополнительного параметра, определяющего
длину в байтах каждого компонента файла. То есть у программиста
появляется возможность самому определять структуру файла. Например,
reset(f,1) открывает для чтения файл, компонента которого равна 1 байту, а
rewrite(s,20) открывает файл для записи компонент длиной в 20 байт. Если
длина компонент файла не указывается, то она принимается
по умолчанию
равной 128 байт.
При чтении/записи данных в файл без типа также добавляется
дополнительный параметр, определяющий количество компонент, которое
должно быть прочитано или записано за одно обращение к диску.
Для чтения информации из файла без типа используется процедура
blockread(<файл.перем.>,<перем.1>,<кол.компонент>);
а для записи информации
в файл без типа
blockwrite(<файл.перем.>,<перем2>,<кол.компонент>);
Например, для чтения целого значения типа integer в переменную X
из файла без типа, открытого процедурой reset(f,1) требуется записать
blockread(f,x,2), так как переменная типа integer размещается в
оперативной памяти в двух байтах.
Пример 5.6. Записать в файл без типа строку символов целиком, а
затем
считать посимвольно и вывести вертикально.
program f_out_type;
var
t:file; {файл без типа}
a:string[17]; {исходная строка}
sym:char;
begin
assign(t,'rz.out');
rewrite(t,17); {открытие на запись с длиной компоненты в 17 байт}
a:='Надейся на лучшее';
blockwrite(t,a,1); {запись в файл строки}
Страницы
- « первая
- ‹ предыдущая
- …
- 95
- 96
- 97
- 98
- 99
- …
- следующая ›
- последняя »
