函数名:lseek
头文件:<io.h>
函数原型: int lseek(int handle,long offset,long length);
功能:用于移动打开文件的指针
参数:int handle 为要移动文件指针的文件句柄
long offset 为要移动的偏移量
int fromwhere 为文件指针以什么方向计算偏移量。
有三个取值分别为:
SEEK_SET 文件的开头
SEEK_CUR 文件的当前位置
SEEK_END 文件的末尾
返回值:移动文件指针后的文件指针位置
程序例:创建文件,内容为I like www.dotcpp.com very much!
//打开文件,跳过7个字节,取14个字符。 #include<stdio.h> #include<io.h> #include<fcntl.h> int main(void){ int fd=open("D:\\a.txt",O_RDONLY); if(fd==-1){ printf("can not open the file\n"); return 1; } int pos=tell(fd); printf("before lseek function,current position: %ld\n",pos); lseek(fd,7,SEEK_SET); //移动到以文件的开头偏移7个字节的位置 char buf[20]={"\n"}; read(fd,buf,14); printf("the res is %s\n",buf); pos=tell(fd); printf("after lseek function,current position: %ld\n",pos); close(fd); return 0; }
运行结果
before lseek function,current position: 0 the res is www.dotcpp.com after lseek function,current position: 21
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程