函數(shù)名:lseek
頭文件:<io.h>
函數(shù)原型: int lseek(int handle,long offset,long length);
功能:用于移動打開文件的指針
參數(shù):int handle 為要移動文件指針的文件句柄
long offset 為要移動的偏移量
int fromwhere 為文件指針以什么方向計算偏移量。
有三個取值分別為:
SEEK_SET 文件的開頭
SEEK_CUR 文件的當(dāng)前位置
SEEK_END 文件的末尾
返回值:移動文件指針后的文件指針位置
程序例:創(chuàng)建文件,內(nèi)容為I like www.sztianhecheng.cn very much!
//打開文件,跳過7個字節(jié),取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個字節(jié)的位置 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; }
運行結(jié)果
before lseek function,current position: 0 the res is www.sztianhecheng.cn after lseek function,current position: 21
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點擊了解:
一點編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進階課程
從零到寫出一個爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍橋杯輔導(dǎo)課程