+ -
当前位置:首页 → 问答吧 → lseek的返回值

lseek的返回值

时间:2010-07-19

来源:互联网

APUE中说有些设备允许lseek的返回值偏移量为负数,那lseek(fd, -1, SEEK_SET)返回的-1表示偏移量还是表示出错阿?


下面摘自APUE Section3.6
Normally, a file's current offset must be a non-negative integer. It is possible, however, that certain devices could allow negative offsets. But for regular files, the offset must be non-negative. Because negative offsets are possible, we should be careful to compare the return value from lseek as being equal to or not equal to 1 and not test if it's less than 0.

作者: nnuyjh569   发布时间: 2010-07-19

man lseek


QUOTE:
RETURN VALUE
       Upon  successful completion, lseek() returns the resulting offset loca‐
       tion as measured in bytes from the beginning of the file.  Otherwise, a
       value of (off_t) -1 is returned and errno is set to indicate the error.

作者: churchmice   发布时间: 2010-07-19