Существует ли конкретный подход к чтению файлов устройств в CL? Я стараюсь следующий код в SBCL, но он не появляется на работе:Чтение из файлов устройств
(defparameter modem #p"/dev/ttyUSB2")
(defun read-modem()
(with-open-file (fd modem :direction :io :if-exists :append)
(loop while (peek-char nil fd) do
(format t "~A" (read-line fd))
(finish-output fd))))
Я знаю, что есть выход, потому что cat /dev/ttyUSB2
показывает его.
можете ли вы читать символы вместо строк? –
Работает чтение символов. Теперь имеет смысл, read-line возвращается только тогда, когда встречается # \ newline или конец файла. – automaton
Обратите внимание, что NEWLINE может означать CR, CRLF (два символа!) Или LF - в зависимости от Lisp, конфигурации и платформы Lisp. –