Funktionsname : lseek
Header-Datei : <io.h>
Funktionsprototyp : int lseek(int handle,long offset,long length);
Funktion : Wird verwendet, um den Zeiger der geöffneten Datei zu bewegen
Parameter : int handle ist das Dateihandle, auf das der Dateizeiger verschoben werden soll.
long offset ist der Offset, der verschoben werden soll
int fromwhere ist die Richtung, in der der Offset des Dateizeigers berechnet wird.
Es gibt drei Werte:
SEEK_SET Anfang der Datei
SEEK_CUR Aktueller Speicherort der Datei
SEEK_END Ende der Datei
Rückgabewert : Die Position des Dateizeigers nach dem Verschieben des Dateizeigers
Programmbeispiel : Erstellen Sie eine Datei mit dem Inhalt. Mir gefällt www.dotcpp.com sehr!
//Öffne die Datei, überspringe 7 Bytes und nimm 14 Zeichen. #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);//Zum Anfangsoffset der Datei verschieben 7-Byte-Position charbuf[20]={n};read(fd,buf,14);printf(theresis%sn,buf);pos=tell(fd);printf(afterlseekfunction,currentposition:% ld n,pos);close(fd);return0;}
Laufergebnisse
beforelseekfunction,currentposition:0theresiswww.dotcpp.comafterlseekfunction,currentposition:21