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