ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.07.2024
Просмотров: 42
Скачиваний: 0
Тема 7. Нестандартные типы данных в языке Паскаль
Процедура чтения из файла
Reset(<имя файла>)
По этой процедуре выполняются следующие действия:
•Поиск указанного файла на внешнем устройстве;
•Установка связи с этим файлом;
•Буфер файла устанавливается в первую позицию
Здесь возможны две ситуации а) файл не пустой, т.е. содержит какие то данные. В этом случае буфер файла принимает
значение первой компоненты файла, а признак конца файла получает значение false. б) файл оказался пустым, в нем не содержится никакой информации. В этом случае буферная переменная является не определенной, а признак конца файла имеет
значение true.
Для выборки информации из файла используется процедура
Get(<имя файла>)
Примечание: Перемещение по файлу осуществляется только слева направо, т.е. только в прямом направлении. НАЗАД ПО ФАЙЛУ ПЕРЕМЕЩАТЬСЯ НЕЛЬЗЯ.
<имя переменной>:=<имя файла>−; get(<имя файла>) |
|
|
Например: |
|
|
х :=<f1>−; get(<f1>) |
20 |
|
read(<имя файла>,<имя переменной>) |
||
|
Тема 7. Нестандартные типы данных в языке Паскаль
Процедура записи в файл
Rewrite(<имя файла>)
По этой процедуре выполняются следующие действия:
•Поиск указанного файла на внешнем устройстве (если файл с таким именем не существует, то он создается, если же файл с таким именем уже существует, то
вся бывшая в файле информация уничтожается);
•Установка связи с этим файлом;
•Буфер файла устанавливается в первую позицию файла. В этом случае буферная переменная является не определенной, а признак конца файла имеет значение true.
Чтобы записать данные в файл необходимо определить значение буферной переменной, присвоив ей значение, которое мы хотим записать в файл, а затем
воспользоваться процедурой
Put(<имя файла>)
По этой процедуре данные из буфера файла заносятся в указанный файл, буфер перемещается в следующую позицию, признак конца файла имеет значение true.
Например: |
|
<f1>−:= х; put(<f1>); |
21 |
|
Write (<имя файла>,<имя переменной>);
Тема 7. Нестандартные типы данных в языке Паскаль
Особенности работы с нетипизированными файлами.
Нетипизированные файлы и файловые переменные предназначены для низкоуровневой работы с файлами. С их помощью можно обратится к файлу любого типа и логической структуры. Отличие состоит в том, что нетипизированный файл не имеет жестко установленной единицы чтения/записи, как типизированные файлы. В
нетипизированных файлах за одно обращение считывается/записывается число байт, приблизительно равное величине буфера ввода/вывода, что способствует увеличению скорости работы с файлами. В качестве буфера ввода/вывода для нетипизированных файлов может выступать любая переменная.
22
Тема 7. Нестандартные типы данных в языке Паскаль
Особенности работы с текстовыми файлами.
Являются разновидностью файлов типа file of Char. Относятся к особым типам файлов.
var <имя файловой переменной>:text;
Структура текстового файла
байт |
байт |
байт |
… |
байт |
Eoln |
|
|
|
|
|
|
|
|
|
|
байт |
байт |
байт |
… |
байт |
байт |
Eoln |
|
|
|
|
|
|
|
|
|
байт |
байт |
байт |
… |
Eoln |
|
|
|
|
|
|
|
|
|
|
|
байт |
байт |
байт |
… |
байт |
байт |
Eof |
|
|
|
|
|
|
|
|
|
Особенности:
•автоматическое преобразование данных
•имеют только прямой доступ
•имеют признаки конца строки
•разрешена запись только некоторых типов данных
Для работы определены процедуры Readln и Writeln. |
23 |