UNIX/Linux函数lseek说明

来源:互联网 发布:特殊符号软件下载 编辑:程序博客网 时间:2024/05/17 03:31

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.也就是返回的值都是相对于文件开始处的偏移。

0 0
原创粉丝点击