Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Prolog.docx
Скачиваний:
1
Добавлен:
25.12.2018
Размер:
94.2 Кб
Скачать

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

Пролог поддерживает операции ввода-вывода не только с использованием консоли, но и с использованием файлов. Перед использованием файл необходимо открыть, для чего используется тернарный предикат open. Первый аргумент этого предиката задает имя файла, а второй — режим открытия, который может быть чтением (read), записью (write), добавлением (append) или обновлением (update). В результате открытия файлу присваивается идентификатор, который унифицируется с третьим аргументом предиката open. Этот идентификатор используется в качестве первого аргумента бинарными предикатами read, write, write_canonical, get_char, put_char, а также унарным предикатом nl. Также идентификатор файла используется в качестве аргумента унарного предиката close, предназначенного для закрытия файла. Закрытие файла после работы с ним является обязательным. Пример:

?- open('C:\\TEMP\\Hello.txt', write, S),

| write(S, 'Hello World!'), nl(S),

| close(S).

S = <stream>(0188B020).

Пример с использованием базы данных.

?- dynamic stream / 1. true.

?- open('C:\\TEMP\\Hello.txt', write, S), assertz(stream(S)). S = <stream>(015C24F0).

?- stream(S), write(S, 'Hello World!'), nl(S). S = <stream>(015C24F0).

?- retract(stream(S)), close(S). S = <stream>(015C24F0).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]