Составители:
Рубрика:
48
Для создания файла необходимо воспользоваться оператором (open "filename" "w").
Если filename - просто имя файла с расширением, то файл создастся в текущем каталоге.
Если это путь вида:
Диск:\\каталог\\каталог\\имя.файла
то файл создастся в указанном каталоге.
Для записи в текстовый файл наиболее удобно использовать оператор write-line. Он
позволяет записывать информацию в файл построчно.
(write-line "Test" f)
Для вывода в файл все данные должны быть преобразованы в строки. Целые - itoa,
вещественные - rtos, объединение строк - strcat. В приведенном ниже примере производится
формирование строки для вывода информации о точке.
;; функция для преобразование точки в строку
;; (использованы координаты Х и У)
(defun pt_to_str(pt)
(strcat "(" (rtos (nth 0 pt)) "," (rtos (nth 0 pt)) ")" )
)
Таким образом, в результате этого кода вы получите описание координат точки в виде
"(x,y)".
При запуске: (pt_to_str (list 3.45 80))
Получим: "(3.45,80)"
Преобразуя и соединяя необходимые строки, можно организовать вывод информации в
файл.
Работа с файлом, количество строк которого неизвестно
Чтение строк файла можно производить в цикле. Наиболее подходит для этого цикл while.
(while (условие)
(setq a (read-line f))
; обработка данных
)
Условием цикла необходимо задать (/= a nil) - неравенство прочитанной строки концу
файла. Кроме того, для проверки и первой строки, необходимо произвести чтение первой
строки до проверки, а внутри цикла чтение сделать последней операцией:
(setq a (read-line f))
; цикл с проверкой конца файла
(while (/=a nil)
; обработка данных
(setq a (read-line f))
Страницы
- « первая
- ‹ предыдущая
- …
- 47
- 48
- 49
- 50
- 51
- …
- следующая ›
- последняя »