POSIX 定义了 text file如:
A file that contains characters organized into one or more lines.
POSIX 定义了 line如
A sequence of zero or more non-newline characters plus a terminating newline character.
鉴于此,Linux 字符设备驱动程序的 read()
函数是否应该在到达 EOF/没有更多数据时将 '\n'
附加到用户缓冲区?
最佳答案
字符驱动程序的概念类似于 stream 。从这个角度来看,read
只是返回接下来可用的任何内容。现在可用的通常是其驱动程序的设备定义的一部分。如果设备返回换行符,那么驱动程序也应该返回换行符。请注意,这意味着设备将在所有平台上返回换行符,而不仅仅是 Linux。
一般来说,解释read
返回的字节是一个更高层次的抽象问题。从策略与机制的角度来看,字符驱动可以被认为是提供机制,将策略留给更高层。
关于linux - Linux 字符设备是否应使用换行符终止 read(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40127249/