Función de la biblioteca C -fseek()

C 标准库 - <stdio.h>Biblioteca estándar de C - <stdio.h>

Descripción

La función de la biblioteca Cint fseek(FILE *stream, long int offset, int whence)establece el flujostreamla posición del archivo al desplazamiento dadooffset, el parámetro offset significa elwhencenúmero de bytes a buscar desde la posición dada.

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 un puntero al objeto FILE, el cual identifica el flujo.
  • offset-- Este es el desplazamiento relativo a whence, en bytes.
  • whence-- Esta es la posición que indica dónde comenzar a agregar el desplazamiento offset. Generalmente se especifica como una de las siguientes constantes:
ConstantesDescripción
SEEK_SETEl principio del archivo
SEEK_CURLa posición actual del puntero de archivo
SEEK_ENDEl final del archivo

Valor de retorno

Si tiene éxito, la función devuelve cero; de lo contrario, devuelve un valor distinto de cero.

Ejemplo

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

#include <stdio.h>

int main ()
{
   FILE *fp;

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

Vamos a compilar y ejecutar el programa anterior, esto creará el archivofile.txt, su contenido es el siguiente. Inicialmente el programa crea el archivo y escribeThis is example.com, pero después restablecimos el puntero de escritura en la séptima posición y usamos la sentencia puts() para reescribir el archivo, con el siguiente contenido:

This is C Programming Langauge

Ahora vamos a usar el siguiente programa para ver el contenido del archivo anterior:

#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);
}

C 标准库 - <stdio.h>Biblioteca estándar de C - <stdio.h>

Otras extensiones