运维开发网

seek函数的详细介绍

运维开发网 https://www.qedev.com 2022-04-29 15:04 出处:网络
这篇文章主要介绍了C语言lseek()函数详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

这篇文章主要介绍了C语言lseek()函数详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

#160;头文件:

#include lt;sys/types.hgt;#include lt;unistd.hgt;

功能原型:

off_t lseek(int fd,off_t offset,int where);//打开文件下一次读写的开始位置。

参数:

Fd表示要操作的文件描述符。

Offset是从开始的偏移量。

Whence可以是SEEK_SET(文件指针的开始),SEEK_CUR(文件指针的当前位置),SEEK_END是文件指针的结束。

返回值:

文件读写指针从文件开始的字节大小,错误,返回-1

lsee的作用是打开文件下一次读写的起始位置,所以它有以下两个作用。

1.展开文件,但一定要写一次。迅雷下载工具下载文件时,先展开一个空的房间,然后再下载。

2.获取文件大小。

lseek()函数重新定位已打开文件的位移,这由参数offset和when的组合决定:

SEEK_SET:从文件头偏移字节。

SEEK_CUR:从文件当前被读写的指针位置增加偏移量字节。

SEEK_END:文件偏移量设置为文件大小加上偏移量字节。

获取文件大小

#includelt;stdio.hgt;#includelt;stdlib.hgt;#includelt;sys/types.hgt;#includelt;unistd.hgt;#include lt;sys/stat.hgt;#include lt;fcntl.hgt;void main(){int fd=open("test.txt",O_RDWR);if(fdlt;0){perror("open test.txt");exit(-1);}printf("file size:%d \n",lseek(fd,0,SEEK_END));close(fd);}

要扩展文件,必须有写操作。

#includelt;stdio.hgt;#includelt;stdlib.hgt;#includelt;sys/types.hgt;#includelt;unistd.hgt;#include lt;sys/stat.hgt;#include lt;fcntl.hgt;int main(void){int fd=open("test.txt",O_RDWR);if(fdlt;0){perror("open test.txt");exit(-1);}lseek(fd,0x1000,SEEK_SET);write(fd,"a",1);close(fd);return 0;}

本文关于C语言lseek()函数的详细解释到此为止。更多关于C语言lseek()的内容,请搜索源搜网之前的文章或者继续浏览下面的相关文章。希望大家以后能多支持源搜网!


0

精彩评论

暂无评论...
验证码 换一张
取 消