fseek

Sintaxis

#include <stdio.h>

int fseek(FILE *file, long offset, int modo);

Descripción

Esta función sitúa el cursor del fichero file en la posición offset según indique modo:

modo Descripción
SEEK_CUR El cursor del fichero se desplaza tantos bytes como indica offset con respecto a la posición
actual. offset puede tener valores negativos o positivos.
SEEK_END El cursor del fichero se desplaza desde el final tantos bytes como indica offset. En este caso offset
debe ser negativo o cero.
SEEK_SET El cursor del fichero se desplaza desde el principio tantos bytes como indica offset.

A todos los efectos de posicionamiento del cursor en el fichero, éste se considera como un vector de bytes que comienza en la posición 0.

Valor devuelto

Cero si tiene éxito, distinto de cero en otro caso.

Portabilidad

ANSI, POSIX

Ejemplo

La función escribeFicheroBinario escribe una secuencia de caracteres en una posición determinada de un fichero abierto en modo binario. El primer parámetro es un puntero al descriptor del fichero, la secuencia de caracteres a escribir es el segundo parámetro, el tercer parámetro es el tamaño de la secuencia y el cuarto es la posición.

#include <stdio.h>
int escribeFicheroBinario(FILE *fentrada, char *msg, int longitud, int pos){
   /* Se coloca el cursor en la posición adecuada del fichero */
   if(fseek(fentrada,pos,SEEK_SET)) 
      return 0;
   return fwrite(msg,longitud,1,fentrada)==1;
}