Nama fungsi : lseek
File tajuk : <io.h>
Prototipe fungsi : int lseek(int handle,long offset,long length);
Fungsi : Digunakan untuk memindahkan pointer dari file yang terbuka
Parameter : int handle adalah pegangan file ke mana penunjuk file akan dipindahkan.
offset panjang adalah offset yang akan dipindahkan
int fromwhere adalah arah penghitungan offset penunjuk file.
Ada tiga nilai:
SEEK_SET Awal file
SEEK_CUR Lokasi file saat ini
SEEK_END akhir file
Nilai yang dikembalikan : Posisi penunjuk file setelah memindahkan penunjuk file
Contoh program : Buat file dengan konten yang saya sangat suka www.dotcpp.com!
//Buka file, lewati 7 byte, dan ambil 14 karakter. #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);//Pindah ke offset awal file Posisi 7-byte charbuf[20]={n};read(fd,buf,14);printf(theresis%sn,buf);pos=tell(fd);printf(afterlseekfunction,currentposition:% ld n,pos);tutup(fd);kembali0;}
Hasil berjalan
fungsi sebelumlseek,posisi saat ini:0adanyawww.dotcpp.comfungsi setelahlseek,posisi saat ini:21