函数名: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
本文固定URL:https://www.dotcpp.com/course/461