当前位置:嗨网首页>书籍在线阅读

31-错误码

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

2.7.2 错误码

lseek()调用出错时,返回-1,并将errno值设置成如下四个值之一:

EBADF

给定的文件描述符没有指向任何打开的文件描述符。

EINVAL

origin的值不是设置成SEEK _ SET、SEEK _ CUR或SEEK _ END,或者结果文件位置是负值。对于EINVAL,如果同时出现以上两种错误就太糟了。前者几乎可以肯定是个编译时错误,后者则是不太明显的运行时逻辑错误。

EOVERFLOW

结果文件偏移不能通过off_t表示。只有在32位的体系结构上才会发生这种错误。当前文件位置已经更新,该错误表示无法返回更新的值。

ESPIPE

给出的文件描述符和不支持查找操作的对象关联,比如管道、FIFO或socket。