Функции для работы с типизированными файлами
End.
Repeat
Begin
3 -1 5 12 -6
Begin
Read(f_int,n); читаем из него очередную запись в переменнуюn
Write(n:5); выводим прочитанное значение на экран
End;
WriteLn; текстовый курсор – в начало новой строки
на экране
Внимание! Оператор ReadLn при чтении типизированных файлов использовать нельзя.
Таким образом, типизированный файл читается с помощью цикла с предусловием While. Условие окончания цикла – чтение метки конца цикла EOF.
После окончания работы с файлом он должен быть закрыт оператором:
Close(файловая переменная);
Например,
Close(f_int);
Пример записать в целочисленный файл несколько чисел, вводимых с экрана. Конец ввода – число 0. Прочитать эти числа из файла и вывести их на экран в одну строку.
Интерфейс программы:
Введите число: 3
Введите число: -1
Введите число: 5
Введите число: 12
Введите число: -6
Введите число: 0
Введены числа:
Программа:
Program File_1;
Uses CRT;
Var n : Integer;
f_int : File Of Integer;
ClrScr;
Assign(f_int, ‘d:\User\f_int.dat’);
ReWrite(f_int);
Write(‘Введите число:’);
ReadLn(n);
If (n <> 0)
Then Write(f_int,n);
Until (n=0);
ReSet(f_int);
Схема алгоритма: While Not(EOF(f_int)) Do
Begin
Read(f_int, n);
Write(n:5);
End;
WriteLn;
Close(f_int);
ReadLn;
Для работы с типизированными файлами используются следующие
функции:
FileSize(файловая переменная) - текущий размер файла – количество записей в файле,
FilePos(файловая переменная) - номер текущей записи в файле – позиция указателя текущей записи (нумерация записей начинается с нуля, номер последней записи на единицу меньше текущего размера файла),
и процедуры:
Seek(файловая переменная, номер) - перемещение указателя на запись с заданным номером (нумерация записей начинается с нуля),
Truncate(файловая переменная) - усечение файла после текущей записи: все записи в файле после текущей удаляются, и после нее ставится метка конца файла EOF,
Erase(файловая переменная)- уничтожение файла – стирание его с диска.
Пример: открыть файл, созданный предыдущей программой, определить его конечный размер, номер начальной записи, поставить указатель на третью запись (по номеру), вывести ее на экран, усечь файл, начиная с нее и вывести новый файл на экран:
Программа:
Program File_1;
Uses CRT;
Var n : Integer;
f_int : File Of Integer;