logo
TurboProlog / Документация / TOM_1

Работа с файлами

В этом разделе мы опишем носколько других предикатов для работы с

файлами. Это предикаты filepos, eof, flush, existfile, deletefile,

renamefile и disk.

Предикат filepos может управлять позицией, где производится чтение

или запись. Он имеет формат:

filepos (SymbolicFileName, FilePosition, Mode) /* (i,i,i),

(i,o,i) */

Если FilePosition - связанная переменная, предикат может изменить

позицию чтения и записи для файла. Если при вызове FilePosition является

свободной переменной, то SymbolicFileName возвращает текущую позицию в

файле.

FilePosition дожно иметь вещественное значение (любая дробная часть

игнорируется).

Mode является целой и указывает, как значение должно интирпретиро-

ваться (согласно таблице 12.1.) значение FilePosition.

Таблица 12.1 Mode и FilePosition

--------------------------------------------------

Mode FilePosition

--------------------------------------------------

0 Относительно начала файла.

1 Относительно текущей позиции.

2 Относительно конца файла. (Конец файла

соответствует позиции 0.)

--------------------------------------------------

Когда возвращается FilePosition, filepos возвращает позицию относи-

тельно начала файла.

Замечание: При использовании filepos, новая строка в файле

считается как два символа.