Информатика -продвинутый курс



         

РАБОТА С ФАЙЛАМИ - часть 3


В системе Турбо-Паскаль предусмотрены встроенные функции по работе с файлами:

filesize(f) - текущее количество компонент открытого файла;

filepos(f) -номер текущей позиции маркера;

геnamе (f,имя) - переименование файла, связанного с f;

erase(f) -уничтожение файла;

execute(f) - выполнение СОМ-файла;

chain(f) -выполнение CHN-файла;

seek(f,N) - устанавливает маркер на позицию N;

eof(f) - возвращает TRUE, если найден конец файла;

ealn(f) - возвращает TRUE, если найден конец строки.

На практике широко используются текстовые файлы, которые состоят из литерных (логических) строк. Поэтому в языке Паскаль предусмотрен стандартный файловый тип TEXT (он не является file of char, скорее всего, это - file of string[n]). Логические строки бывают разной длины, в том числе и нулевой. В конец каждой строки помещается специальный символ «конец строки» (eoln - «end of line»). В качестве печатного символа конца строки используют литеру #. Текстовый файл (text) является строго последовательным, к нему не применимы некоторые встроенные функции, в частности, seek. В отличие от типизированных файлов, с текстовым файлом нельзя одновременно проводить операции чтения (read) и записи (write). Однако, допустимы операторы writein и readln. Числовые данные, целые и вещественные, в текстовом файле должны записываться через пробел.

Ниже приведены несколько примеров, иллюстрирующих работу с файлами. Пример 1. Вывод данных на печатающее устройство - принтер (1st:).

Программа 23

program print;

var

fal :text; x :real; name :string[25];

begin

assign (fal, ' 1st:'); rewrite (fal); x:2.5; name:"'Слава';

writeln(fal,x:8:2) ;

writeln(fal,'Привет, '.name); close(fal) :

end. (Здесь файловая переменная fal связывается с принтером 1st:, и запись в файл fal практически означает вывод на печать)

Пример 2. Создание и сохранение в файле «xxx.dat» последовательности целых чисел от 10 до 20.

Программа 24

program zapis;

var

f: file of integer; i: integer;




Содержание  Назад  Вперед