Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Использование файлов

Функция - отображение между множествами | Управляющие структуры Лиспа являются формами | LET создаёт локальную связь | Разветвление вычислений: условное предложение COND | Циклические вычисления: предложения FOR, FOR*, WHILE и DO-WHILE | Повторение через итерацию или рекурсию |


Читайте также:
  1. Gt; глава I использование положительного опыта 35
  2. III. Основы педагогики как науки и использование ее результатов в процессе образования учащихся.
  3. Анализ провозной способности с использованием индексного приема сравнения
  4. Взгляды зарубежных и отечественных психологов, педагогов на использование движений в коррекционных целях
  5. Возможности использования флексографской печати. Использование трафаретной печати в рекламе.
  6. Вопрос 11. Влажностный режим, его регулирование и использование при хранении продовольственных товаров.
  7. Вопрос 19. Контроль за использованием и охраной земель.

Ввод и вывод во время раб оты с Лиспом в основном осуществляется через дисплей и клавиатуру. Файлы используются, как правило, лишь для хранения программ в промежутке между сеансами. Однако иногда возникает необходимость работы с файлами из программы.
Ввод и вывод осуществляются независимо от конфигурации внешних устройств через потоки (stream). Потоки представляют собой специальные резервуары данных, из которых можно читать (поток ввода) или в которые можно писать (поток вывода) знаки или двоичные данные. У системы есть несколько стандартных потоков, которые являются значениями глобальных переменных. Наиболее важные из них 

cin и
cout

Эти системные переменные определяют для функций ввода (  read-line и др.) и соответственно для функций вывода (prin x, terpri и др.) файлы по умолчанию, которыми в начале сеанса являются дисплей или терминал пользователя. В этом случае нет необходимости в начальном объявлении потока ввода для функции read-line или потока вывода для функций вывода.
Если мы хотим обмениваться данными с каким-нибудь новым файлом, то сначала его нужно открыть (open) в зависимости от его использования для чтения или для записи. У директивы  open может быть много параметров.

(  имя-файла open {параметр} )

Значением параметра могут быть следующие ключи: 

параметр значение
in Открыть поток для ввода
out Открыть поток для вывода

Например, следующий вызов открывает поток для вывода в файл  проба.lisp2d:

("проба.lisp2d" open 'out)

Потоковый объект, получаемый в результате вызова  open, можно для следующего использования присвоить какой-нибудь переменной:

(nil setq поток ("проба.lisp2d" open 'in 'out 'trunc))

Этот вызов присваивает переменной  поток двусторонний поток, связанный с новым файлом "проба.lisp2d".
Все ранее рассмотренные функции ввода и вывода можно использовать и с указанием файла, задавая соответствующий файлу поток. Например, следующий вызов  princ записывает выражение в новый файл "проба.lisp2d", и вызов read читает это выражение:

>(поток princ '(в файл "проба.lisp2d"))STREAM:IO>(поток seekr 0)STREAM:IO>(nil setq x (поток read))nil>x(в файл проба.lisp2d)

Чтобы записанные в файл данные сохранились, надо не забыть закрыть файл директивой  close:

( поток close)


Дата добавления: 2015-07-21; просмотров: 38 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
READ-LINE читает и возвращает выражение| LOAD загружает определения

mybiblioteka.su - 2015-2024 год. (0.008 сек.)