Система ввода/вывода, используемая CLIPS, называется маршрутизацией ввода/вывода (I/O routers). Одна из ключевых особенностей системы маршрутизации ввода/вывода — использование логических имен. Логическиеимена позволяют обращаться к устройствам ввода/вывода унифицированным способом, без необходимости учета особенностей конкретного устройства. Многие функции CLIPS используют логические имена в качестве параметров. Логическое имя, созданное пользователем, должно быть строкой, числом или принадлежать типу symbol. CLIPS предоставляет несколько предопределенных логических имен, список которых приведен в табл. 15.8.
Таблица 15.8. Предопределенные логические имена CLIPS
| Имя | Описание |
| stdin | Логическое имя, определяющее устройство по умолчанию, предназначенное для ввода информации от пользователя. Если такое имя определено, его используют функции read и readln |
| stdout | Логическое имя, определяющее устройство по умолчанию, предназначенное для вывода информации для пользователя. Если такое имя определено, его используют функции printout и format |
| wclips | Логическое имя, определяющее устройство, которое использует справочная система CLIPS |
| wdialog | Устройство, ассоциированное с данным логическим именем, служит для отправки пользователю информационных сообщений |
| wdisplay | Отображение такой информации, как правила, факты и т. д., производится на устройство, ассоциированное с этим логическим именем |
| werror | Данное логическое имя определяет устройство, на которое будут выводиться все сообщения об ошибках |
| wwarning | Устройство, ассоциированное с данным логическим именем, используется для отображения предупреждений |
| wtrase | Вся отладочная информация посылается на устройство, ассоциированное с данным логическим именем |
Подробную информацию о логических именах и системе маршрутизации ввода/вывода можно найти в книге "CLIPS Reference Manual, Volume II, Advanced Programming Guide ".
Описание функций ввода/вывода, предоставляемых системой CLIPS, приведены в табл. 15.9.
Таблица 15.9. Функции ввода/вывода
| Функция | Описание |
| open | Открытие файла |
| close | Закрытие файла |
| printout | Вывод информации на заданное устройство |
| read | Ввод данных с заданного устройства |
| readline | Ввод строки с заданного устройства |
| format | Форматированный вывод информации на заданное устройство |
| rename | Переименование файла |
| remove | Удаление файла |
Функция open предоставляет пользователю возможность открыть файл в функции или из правой части правила и присвоить файлу определенное логическое имя. Эта функция принимает три аргумента: имя открываемого файла, логическое имя, которое будет использоваться системой ввода/вывода CLIPS для связи с этим файлом и, наконец, параметр, определяющий способ открытия файла. Возможные варианты значений аргумента, определяющего способ открытия файла, приведены в табл. 15.10.
Таблица 15.10. Способы открытия файла
| Значение аргумента | Описание |
| "r" | Доступ только для чтения |
| "w" | Доступ только для записи |
| "r+" | Доступ для чтения и записи |
| "а" | Добавление только в конец файла |
| "wb" | Возможность записи двоичных файлов |






