lseek随机读取函数的使用

来源:互联网 发布:js加载页面时自动执行 编辑:程序博客网 时间:2024/05/29 02:55

   lseek函数会根据我们的需求对文件进行随机的读取

   函数原型: off_t lseek(int fd,off_t offset,int whence);

   其中第一个参数为要读取的文件的文件描述符 

   第二个参数是偏移的大小

   第三个参数为从那个位置开始偏移 此处有三个可选项 分别为

                 SEEK_SET  从文件起始位置开始

                 SEEK_CUR 从当前位置开始偏移

                 SEEK_END 从文件尾开开始偏移


  此函数有三个特别的使用方法 分别为

                 lseek(fd,0,SEEK_SET)     欲将文件读写位置移到文件开头使

                 lseek(fd,0,SEEK_CUR)    想要读取目前文件位置时

                 lseek(fd,0,SEEK_END)    欲将文件读写位置移到文件末尾时


 函数调用成功时返回目前的读写位置(距离文件开头有多大)  错误返回-1 错误代码存在errno中

 注意:1 在有些情况下,offset可以为负数,所以在检查是否出现错误时,不要判断小于0,最好判断

是否等于-1 

            2 文件的偏移长度可以大于当前文件的长度,在这种情况下,下一次对文件的写将加长该文件,

并在文件中构成一个空洞,中间没有被写入的字节都被读为0



原创粉丝点击