Nome da função : lseek
Arquivo de cabeçalho : <io.h>
Protótipo de função : int lseek(int handle,long offset,long length);
Função : Usada para mover o ponteiro do arquivo aberto
Parâmetros : int handle é o identificador do arquivo para o qual o ponteiro do arquivo deve ser movido.
deslocamento longo é o deslocamento a ser movido
int fromwhere é a direção na qual o deslocamento do ponteiro do arquivo é calculado.
Existem três valores:
SEEK_SET Início do arquivo
SEEK_CUR Localização atual do arquivo
SEEK_END fim do arquivo
Valor de retorno : a posição do ponteiro do arquivo após mover o ponteiro do arquivo
Exemplo de programa : Crie um arquivo com o conteúdo que gosto muito de www.dotcpp.com!
//Abra o arquivo, pule 7 bytes e pegue 14 caracteres. #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);//Mover para o deslocamento inicial do arquivo Posição de 7 bytes charbuf[20]={n};read(fd,buf,14);printf(theresis%sn,buf);pos=tell(fd);printf(afterlseekfunction,currentposition:% ld n,pos);fechar(fd);return0;}
Resultados em execução
função beforelseek,posição atual:0há www.dotcpp.comafterlseekfunction,posição atual:21