【发布时间】:2013-01-15 00:18:50
【问题描述】:
如果我有一个大小为 5 的文件,我使用 lseek 寻找位置 10,然后使用 read 从该位置读取 1 个字节,则 read 系统调用的返回值为 0。 我想知道lseek/read/write在以下情况下的返回值: 如果我寻求超过文件系统允许的最大文件大小,然后执行读取。我们可以寻求这个位置/这是一个错误吗?如果不是,如果我在这里读取,读取的返回值是什么? 0 还是 -1?
【问题讨论】:
-
read返回实际读取的字节数。 0 听起来适合我。 -
或者有一种可能性是搜索本身可能会失败,因此您只需在旧位置读取。但是@Carl 是对的,你应该试试看。