函數名: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,currentpositi on:%ldn,pos);lseek(fd,7,SEEK_SET);//移動到以檔案的開頭偏移7個位元組的位置charbuf[20]={n};read(fd,buf ,14);printf(ther esis%sn,buf);pos=tell(fd);printf(afterlseekfunction,currentposition:%ldn,pos);close(fd);return0;}
運行結果
beforelseekfunction,currentposition:0theresiswww.dotcpp.comafterlseekfunction,currentposition:21