函数名: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>intmain(void){intfd=open(D:\a.txt,O_RDONLY);if(fd==-1){printf(cannotopenthefilen);return1;}intpos=tell(fd);printf(beforelseekfunction,currentposition:%ldn,pos);lseek(fd,7,SEEK_SET);//移动到以文件的开头偏移7个字节的位置charbuf[20]={n};read(fd,buf,14);printf(theresis%sn,buf);pos=tell(fd);printf(afterlseekfunction,currentposition:%ldn,pos);close(fd);return0;}
运行结果
beforelseekfunction,currentposition:0theresiswww.dotcpp.comafterlseekfunction,currentposition:21