关于lseek
的一个小问题(C系统调用)。我知道失败时函数的返回值将为负数。我们可以肯定地知道,如果返回值不是负值,那么函数实际上是否移动到了所需的位置?
答案 0 :(得分:2)
如果值为(off_t)-1
,则表示出错。
如果值不是(off_t)-1
,则呼叫成功。
从我系统的手册页
成功完成后,
lseek()
将返回从文件开头以字节为单位测量的结果偏移位置。如果出错,则返回值(off_t)-1
,并设置errno
以指示错误。
off_t
user
user_mails
user_addresses
user_phonenumbers
[...]
必须是签名类型,因此检查结果是否为负数似乎是安全的。