Под чтением из файла понимается пересылка данных из внешнего файла, находящегося на диске, в оперативную память.
Для чтения из файла необходимо открыть для чтения посредством процедуры
Reset(< имя файловой переменной >);
Собственно чтение данных из файла выполняется процедурой
Read(< имя файловой переменной >,< имя переменной >);
Переменная должна иметь тот же тип, что и компоненты файла. Отметим, что если оператор ввода имеет вид Read(<имя переменной>), то данные вводятся с клавиатурой, а если Read(<имя файловой переменной>,<имя переменной>); то данные вводятся из файла, хранящегося на диске.
Закрытие файла
После того как данные из файла прочитаны, его необходимо закрыть посредством процедуры
Close(< имя файловой переменной>)
Общая схема чтения данных из файла, таким образом, следующая:
Reset(<имя файловой переменной>);
.......
Read(<имя файловой переменной>,<имя переменной>);
...........
Close(<имя файловой переменной>);
Признак конца файла
Так как число элементов файла не известно заранее, необходимо уметь определять, что файл кончился. Для этого используется логическая функция Eof(<имя файловой переменной>) (Eof - End Of File). Она принимает истинное значение (Тrue), если достигнут конец файла, и ложное (False) - в противном случае.
|
|
Пример Прочитаем из файла целые числа и выведем их на экран:
Assign(F1,’A:INT.DAT’);
Reset(F1);
While Not Eof(F1) do
Begin
read(f1,n); { считываем очередное число из файла}
write(n,’ ‘); { выводим его на экран}
end;
Close(F1);
Запись в файл
Под записью в файл понимается вывод результатов программы из оперативной памяти ЭВМ в файл на диске.
Для записи в файл необходимо открыть файл для записи посредством процедуры
Rewrite(< Имя файловой переменной >);
Собственно запись данных в файл выполняется процедурой:
Write(< имя файловой переменной >,< значение >);
Общая схема записи данных в файл, таким образом, следующая:
Rewrite(<>);
......
Write(<имя файловой переменной>,<значение>);
..........
Close(<имя файловой переменной>);
Прямой доступ к элементам файла
Несмотря на то, что в стандартном Паскале имеются лишь файлы последовательного доступа, Турбо Паскаль содержит процедуры и функции для более эффективной работы с файлами. В частности, имеется возможность осуществлять прямой доступ к элементам файла.
Установка указателя.
Процедура Seek(< имя файловой переменной >, N) устанавливает файловый указатель на N-й элемент. Например, Seek(F1,3). (на 4 элемент)