Función de biblioteca C - fseek ()

Descripción

La función de la biblioteca C int fseek(FILE *stream, long int offset, int whence) establece la posición del archivo del stream a lo dado offset.

Declaración

A continuación se muestra la declaración de la función fseek ().

int fseek(FILE *stream, long int offset, int whence)

Parámetros

  • stream - Este es el puntero a un objeto FILE que identifica la secuencia.

  • offset - Este es el número de bytes para compensar de dónde.

  • whence- Esta es la posición desde donde se agrega el desplazamiento. Está especificado por una de las siguientes constantes:

No Señor. Constante y descripción
1

SEEK_SET

Inicio de archivo

2

SEEK_CUR

Posición actual del puntero de archivo

3

SEEK_END

Fin del documento

Valor devuelto

Esta función devuelve cero si tiene éxito, o devuelve un valor distinto de cero.

Ejemplo

El siguiente ejemplo muestra el uso de la función fseek ().

#include <stdio.h>

int main () {
   FILE *fp;

   fp = fopen("file.txt","w+");
   fputs("This is tutorialspoint.com", fp);
  
   fseek( fp, 7, SEEK_SET );
   fputs(" C Programming Language", fp);
   fclose(fp);
   
   return(0);
}

Compilemos y ejecutemos el programa anterior que creará un archivo file.txtcon el siguiente contenido. Inicialmente, el programa crea el archivo y escribe.Esto es tutorialspoint.com, pero luego restablecimos el puntero de escritura en la séptima posición desde el principio y usamos la declaración put () que sobrescribe el archivo con el siguiente contenido:

This is C Programming Language

Ahora veamos el contenido del archivo anterior usando el siguiente programa:

#include <stdio.h>

int main () {
   FILE *fp;
   int c;

   fp = fopen("file.txt","r");
   while(1) {
      c = fgetc(fp);
      if( feof(fp) ) {
         break;
      }
      printf("%c", c); 
   }
   fclose(fp);
   return(0);
}

Compilemos y ejecutemos el programa anterior para producir el siguiente resultado:

This is C Programming Language