ชื่อฟังก์ชัน : lseek
ไฟล์ส่วนหัว : <io.h>
ต้นแบบฟังก์ชัน : int lseek(int handle,long offset,long length);
ฟังก์ชั่น : ใช้เพื่อย้ายตัวชี้ของไฟล์ที่เปิด
พารามิเตอร์ : int handle คือตัวจัดการไฟล์ที่จะย้ายตัวชี้ไฟล์ไป
long offset คือ offset ที่จะย้าย
int fromwhere คือทิศทางในการคำนวณออฟเซ็ตของตัวชี้ไฟล์
มีสามค่า:
SEEK_SET จุดเริ่มต้นของไฟล์
SEEK_CUR ตำแหน่งปัจจุบันของไฟล์
SEEK_END สิ้นสุดไฟล์
ค่าที่ส่งคืน : ตำแหน่งของตัวชี้ไฟล์หลังจากย้ายตัวชี้ไฟล์
ตัวอย่างโปรแกรม : สร้างไฟล์ที่มีเนื้อหาที่ฉันชอบ www.dotcpp.com มาก!
//เปิดไฟล์ ข้าม 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);//ย้ายไปที่ออฟเซ็ตเริ่มต้นของไฟล์ charbuf ตำแหน่ง 7 ไบต์ [20]={n};read(fd,buf,14);printf(theresis%sn,buf);pos=tell(fd);printf(afterlseekfunction,ตำแหน่งปัจจุบัน:% ld n,pos);ปิด(fd);return0;}
ผลการวิ่ง
beforelseekfunction, ตำแหน่งปัจจุบัน: 0theresiswww.dotcpp.comafterlseekfunction, ตำแหน่งปัจจุบัน: 21