【发布时间】:2011-06-18 13:35:59
【问题描述】:
我希望能够写入字节并从标准输入/输出读取它们,但是当我在 SBCL 中尝试此操作时,我收到错误“流没有合适的方法 [...]”,这是为什么以及如何我打算制作自己的可以处理字节的流?
【问题讨论】:
标签: stream byte common-lisp
我希望能够写入字节并从标准输入/输出读取它们,但是当我在 SBCL 中尝试此操作时,我收到错误“流没有合适的方法 [...]”,这是为什么以及如何我打算制作自己的可以处理字节的流?
【问题讨论】:
标签: stream byte common-lisp
这似乎是因为标准输入和输出流是元素类型为character 的流,而不是(unsigned-byte 8)。流的元素类型通常在打开流时配置,在标准输入/输出的情况下,在解释器启动时自动完成。
但是,SBCL 具有二价流的概念,它可以同时支持面向字符和面向字节的 I/O。碰巧,在我的机器上,
* (read-byte *standard-input* nil)
a
97
* (read-char *standard-input* nil)
a
#\a
工作正常。那么,您使用的是哪个版本的 SBCL?我的是 SBCL 1.0.49。
【讨论】: