fseek() en C/C++ con ejemplo

fseek() se usa para mover el puntero del archivo asociado con un archivo dado a una posición específica.
Sintaxis:

int fseek(FILE *pointer, long int offset, int position)
pointer: pointer to a FILE object that identifies the stream.
offset: number of bytes to offset from position
position: position from where offset is added.

returns:
zero if successful, or else it returns a non-zero value 

position define el punto con respecto al cual se debe mover el puntero del archivo. Tiene tres valores:
SEEK_END : Indica el final del archivo.
SEEK_SET : Indica el inicio del archivo.
SEEK_CUR: indica la posición actual del puntero del archivo.

// C Program to demonstrate the use of fseek()
#include <stdio.h>
  
int main()
{
    FILE *fp;
    fp = fopen("test.txt", "r");
      
    // Moving pointer to end
    fseek(fp, 0, SEEK_END);
      
    // Printing position of pointer
    printf("%ld", ftell(fp));
  
    return 0;
}

Producción:

81

Explicación

El archivo test.txt contiene el siguiente texto:

"Someone over there is calling you.
we are going for work.
take care of yourself."

Cuando implementamos fseek(), movemos el puntero a una distancia de 0 con respecto al final del archivo, es decir, el puntero ahora apunta al final del archivo. Por lo tanto, la salida es 81.

Artículo relacionado: fseek vs rewind en C

Este artículo es una contribución de Hardik Gaur . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *