【发布时间】:2013-08-08 11:01:25
【问题描述】:
我有使用所有字符符号进行通信的设备。我知道传输消息的固定长度,并且我正在使用 termio.h 与此设备进行通信。 问题是当符号数组之一为空符号 (\0) 时,我无法读取整个消息。读取功能此时停止,我的消息不完整。这很奇怪,因为我可以(使用函数 write())编写任意数量的空符号。 我知道每个字符串都假设为空结尾,但我需要阅读这些空符号,有没有办法做到这一点? 谢谢!
【问题讨论】:
-
如果你有一个固定的尺寸,那么
read那个尺寸。read函数不检查它读取的数据。可能是您的 输出 数据停止在零处。但是,除非您显示一些代码,否则无法确定。 -
@JoachimPileborg 几乎可以肯定是正确的。这是一个“C 风格的字符串”错误,几乎被钉在了上面。
标签: c++ c serial-port posix