Имя функции : lseek
Заголовочный файл : <io.h>
Прототип функции : int lseek(int handle,long offset,long length);
Функция : используется для перемещения указателя открытого файла.
Параметры : int handle — дескриптор файла, на который должен быть перемещен указатель файла.
длинное смещение — это смещение, которое нужно переместить
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);//Перейти к началу смещения файла 7-байтовая позиция charbuf[20]={n};read(fd,buf,14);printf(theresis%sn,buf);pos=tell(fd);printf(afterlseekfunction,currentposition:% ld n,pos);закрыть(fd);return0;}
Результаты бега
beforelseekfunction,currentposition:0theresiswww.dotcpp.comafterlseekfunction,currentposition:21