Процедура close

Процедура close(f), где f - имя файловой переменной, закрывает файл, который ранее был открыт процедурами reset, rewrite. Именно ее следует использовать при закрытии файла, в который была записана информация. Дело в том, что writе не обращается непосредственно к диску, а пишет информацию в специальный участок памяти, называемый буфером файла. После того как буфер заполнится, вся информация из него вносится в файл. При выполнении операции close сначала происходит запись буфера файла на диск, и только потом файл закрывается. Если его не закрыть вручную, то это произойдет автоматически при завершении работы программы, однако пропадет информация, хранимая в буфере файла.

После записи информации в файл его необходимо закрывать с помощью процедуры close.

Процедура rename.

Переименование файла, связанного с файловой переменной f, осуществляется в то время, когда он закрыт, при помощи процедуры rename (f, s), где f - файловая переменная, s - новое имя файла (строковая переменная).

Процедура erase.

Удаление файла, связанного с переменной f, выполняется посредством процедуры erase(f), в которой также является именем файловой переменной. Для корректного выполнения этой операции файл должен быть закрыт.

Функция eof.

Функция eof (f) (end of file), где f- имя файловой переменной, принимает значение «истина» (true), если достигнут конец файла, иначе - «ложь» (false).

Процедуры write, read.

Для чтения информации из файла, связанного с файловой переменной f, можно воспользоваться стандартными операторами чтения следующей структуры:

read (f, x1, x2, …, xn);

read (f, x);

Процедура read не проверяет, достигнут ли конец файла. За этим нужно следить с помощью функции eof.

Для записи в файл можно применять стандартные операторы записи следующей структуры:

write (f, x1, x2, …, xn);

write (f, x);

Операторы последовательно записывают в файл значения переменных. Типы файла и переменных должны совпадать.

Подведем итог. Для того чтобы создать файл, необходимо выполнить следующие действия

1. Описать файловую переменную.

2. Связать ее с физическим файлом (assign).

3. Открыть файл для записи (rewrite).

4. Внести необходимую информацию в файл (write).

5. Обязательно закрыть файл (close).

Для выполнения считывания информации из файла надо:

1. Описать файловую переменную.

2. Связать ее с физическим файлом.

3. Открыть файл для чтения.

4. Считать необходимую информацию (на этом этапе нужно проверять, достигнут ли конец файла).

5. Закрыть файл.

Пример 1. Записать n действительных чисел в файл.

program abc;

Var

f: file of real;

a: real;

i, n: integer;

Begin

{ Связываем файловую переменную с файлом на диске. }

assign (f, ‘ d: \tp\ abc.dat’);

{ открываем пустой файл для записи.}

rewrite (f);

{определяем количество элементов в файле.}

read (n);

{В цикле вводим очередной элемент и записываем его в файл.}

for i: =1 to n do

Begin

write (‘a=’);

read (a);

write (f,a)

close (f)

End.

Пример 2. На диске D в каталоге TP находится файл вещественных чисел. Необходимо распечатать его содержимое и вычислить количество компонентов файла.

program bca;

Var

f1: file of real;

a: real;

n: integer;

Begin

{ связываем файловую переменную с файлом на диске.}

assign (f1, ‘D:\TP\abc1.dat’);

{открываем файл.}

reset (f1);

{В переменной n будет накапливаться количество элементов в файле.}

n:=0;

{Вход в цикл осуществляетс, если не достигнут конец файла}

while not eof (f1) do

Begin

{считываем очередной элемент из файла}

read (f1,a);

{Увеличиваем количество элементов в файле на один}

n:=n+1;

{Выводим очередной элемент на экран}

writeln (n, ‘-й элемент файла равен ‘, a:10:6)

end;

writeln;

writeln (‘в файле ‘,n,’ элементов’);

{Закрываем файл. Здесь это необязательно}

сlose (f1);

end.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: