UNIX/Linux函数lseek说明

1.    

    lseek返回当前文件所在位置距离文件开始处的偏移

    lseek的原型

    off_t lseek(int filedes, off_t offset, int whence);

    filedes:代表文件描述符

    offset:通过第三个参数标记相对偏移量

    whence:取值SEEK_SET(文件开始处),SEEK_CUR(文件当前位置),SEEK_END(文件末尾)

2.

    说明:对于SEEK_SET如果设置第二个参数为负数,返回的将是-1,所以不要和管道,SOCKET等文件使用混淆了,

    它们都是返回-1.如果设置第二个参数大于当前文件的长度,返回值也就是那个设置的值。没有报错。

    对于SEEK_CUR如果是第一次使用文件,使用这个标志,那么使用和SEEK_SET类似.但是如果是前面已经使用过

    再次使用,只要偏移不低于文件开始处返回的都是非负值.

    对于SEEK_END使用正负数都可以,但是对于负数只要不低于文件开始处都不会返回-1,正数可以任意设置。

    

3.   

    总结:对于lseek函数第三个参数无论使用哪个标志只要偏移不低于文件开始处都不会返回-1.向后超过文件长度

    不会返回-1.也就是返回的值都是相对于文件开始处的偏移。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值