Что значит rewrite в паскале

Обновлено: 02.07.2024

Функция: Создает и открывает новый файл.
Описание: Rewrite(f [ : file; разм_записи : word ] )
Примечания: Параметр f является файловой переменной,
соответствующей любому типу файла. Он должен быть связан с
внешним файлом с помощью процедуры Assign. Параметр
"разм_записи" представляет собой необязательное выражение
длиной в слово и может указываться только в том случае, если
f является нетипизованным файлом.
Процедура Rewrite создает новый внешний файл, имя кото-
рого присвоено f. Если внешний файл с указанным именем уже
существует, то он удаляется и на его месте создается новый
пустой файл. Если файл f уже открыт, то он сначала закрыва-
ется, а затем открывается вновь. Текущая позиция в файле ус-
танавливается на начало файла. Если f было присвоено пустое
имя (например, Assign(f,'')), то после обращения к
процедуре Reset(f) будет ссылкой на стандартный файл ввода
(стандартный канал номер 1).
Если f - текстовый файл, то он становится доступным
только по записи. После обращения к процедуре Rewrite Еоf(f)
принимает значение Тruе, если файл пуст, и значение False в
противном случае.
Если f является нетипизованным файлом, то параметр
"разм_записи" определяет размер записи, который должен ис-
пользоваться при передаче данных. Если этот параметр опущен,
то он подразумевается равным по умолчанию 128 байтам.
При указании директивы компилятора функция
IORеsult будет возвращать значение 0 в том случае, если опе-
рация завершилась успешно, и ненулевой код ошибки в против-
ном случае.
Отличия: В версии 3.0 Турбо-Паскаля пустое имя файла
было недопустимо.
Прочее: См. также процедуры Reset, Append, Assign.
Пример:

var f : text;
begin
Assign(f,'NEWFILE,');
Writeln(f,'Создается файл, в который записывается эта
строка');
Close(f);
end.

Процедура Rewrite

Процедура Rewrite открывает файл для записи. Синтаксис:

Процедура Rewrite открывает файл F для записи. Файл F может быть файлом любого типа.

Если F - это нетипизированный или типизированный файл, то он открывается для чтения и записи.

Если F является нетипизированным файлом, то размер записи можно указать в необязательном параметре L. По умолчанию используется значение 128.

Если процедура Rewrite находит файл с тем же именем, что и F, то размер этого файла обрезается до нуля (то есть все данные из файла удаляются).

Если такой файл не найден, создается новый файл.

В отличие от Турбо Паскаль, Free Pascal открывает файл в режиме записи. Если он должен быть открыт в режиме чтения, то требуется дополнительный вызов процедуры Reset.

Общий доступ к файлам не принимается во внимание при вызове процедуры Rewrite.

В зависимости от состояния переключателя при наличии ошибки может возникнуть ошибка времени выполнения. В состоянии используйте функцию IOResult для проверки ошибок. Подробнее о директивах компилятора см. здесь.

Как связать файл с переменной в Паскале

Процедура Assign связывает переменную F с файлом какого-либо типа. После этого в программе можно использовать переменную F для работы с указанным файлом.

Вызов процедуры Assign не открывает файл, а только связывает имя файловой переменной F с файлом на диске. При этом файл отмечается как закрытый.

Как видно из синтаксиса процедуры, файл может быть как типизированным, так и не типизированным.

Как объявить файловую переменную

Перед вызовом процедуры файловая переменная, которая передаётся в процедуру, должна быть объявлена. Делается это примерно так:

В первом случае мы объявляем типизированную файловую переменную. В файле, который будет связан с этой переменной, могут храниться только целые числа типа Integer.

Во втором случае мы объявляем нетипизированную файловую переменную. В файле, который будет связан с этой переменной, могут храниться данные произвольного типа в текстовом формате.

Далее приведён пример программы, где рассмотрена работа как с типизированными, так и с нетипизированными файловыми переменными.

Процедура Assign

Процедура Assign в Паскале связывает переменную с файлом. Синтаксис:

Функция Eof

Функция Eof в Паскале проверяет конец файла. Синтаксис:

С помощью функции Eof можно определить конец файла, или, например, таблицы базы данных.

Функция Eof возвращает TRUE, если файловый указатель достиг конца файла или если файл пуст. Во всех остальных случаях Eof возвращает FALSE. Если файл F не указан, то используется стандартный ввод.

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

Как проверить конец файла

Ниже приведён пример программы, где используется функция Eof для проверки конца файла.

Функцию Eof удобно использовать при переборе элементов файла или таблицы базы данных в тех случаях, когда вы точно не знаете, сколько этих элементов в файле или таблице.

Читайте также: