【发布时间】:2013-01-07 14:32:47
【问题描述】:
我在使用 Linux 中的 c 从设备读取 未知 字节数(原始数据,可能包含 NULL)时遇到了一些问题。我怎样才能读取设备“只要它准备好被读取”? (希望一次不读取 1 个字节)。
【问题讨论】:
-
感谢您的想法。我没有想过采用这种方法,但如果我一直遇到同样的问题,我会检查是否可以像你说的那样进行映射。
标签: c linux binarystream
我在使用 Linux 中的 c 从设备读取 未知 字节数(原始数据,可能包含 NULL)时遇到了一些问题。我怎样才能读取设备“只要它准备好被读取”? (希望一次不读取 1 个字节)。
【问题讨论】:
标签: c linux binarystream
好吧,如果您使用read,如果没有数据,您将阻塞,或者如果有数据要读取,则成功。如果有要读取的数据,您将获得所需的数量,或者如果没有更多要读取的数据,则获得更少的数量。查看 read 的返回值以确定您有多少。你可以让它成为非阻塞的,但是检查读取返回值的方法无论如何都是正确的。
如果您更清楚您将拥有的数据突发类型,只需将数据以您想要处理的任何大小的块进行分块,一次一个字符,或者更多。
【讨论】: