cse中lseek系统调用的成功

时间:2017-04-27 17:50:12

标签: c system-calls

关于lseek的一个小问题(C系统调用)。我知道失败时函数的返回值将为负数。我们可以肯定地知道,如果返回值不是负值,那么函数实际上是否移动到了所需的位置?

1 个答案:

答案 0 :(得分:2)

如果值为(off_t)-1,则表示出错。

如果值不是(off_t)-1,则呼叫成功。

从我系统的手册页

  

成功完成后,lseek()将返回从文件开头以字节为单位测量的结果偏移位置。如果出错,则返回值(off_t)-1,并设置errno以指示错误。

off_t user user_mails user_addresses user_phonenumbers [...] 必须是签名类型,因此检查结果是否为负数似乎是安全的。