fseek(3) Library Functions Manual fseek(3)

fgetpos, fseek, fsetpos, ftell, rewind - reposicionarse en un flujo

Biblioteca Estándar C (libc, -lc)

#include <stdio.h>
int fseek(FILE *flujo, long desplto, int origen);
long ftell(FILE *flujo);
void rewind(FILE *flujo);
int fgetpos(FILE *restrict flujo, fpos_t *restrict pos);
int fsetpos(FILE *flujo, const fpos_t *pos);

La función fseek() mueve el indicador de posición del fichero correspondiente al flujo de datos apuntado por flujo. La nueva posición, medida en bytes, se obtiene añadiendo desplto bytes a la posición especificada por origen. Si origen es SEEK_SET, SEEK_CUR, o SEEK_END, el desplazamiento es relativo al comienzo del fichero, a la posición actual, o al final del fichero, respectivamente. Una llamada exitosa a la función fseek() limpia el indicador de fin-de-fichero para el flujo y deshace cualquier efecto de la función ungetc(3) en el mismo flujo.

La función ftell() obtiene el valor actual del indicador de posición del fichero para el flujo apuntado por flujo.

La función rewind() mueve el indicador de posición del fichero para el flujo apuntado por flujo al principio del fichero. Es equivalente a:

(void) fseek(stream, 0L, SEEK_SET)

salvo en que el indicador de error para el flujo también se limpia (vea clearerr(3)).

Las funciones fgetpos() y fsetpos() son interfaces alternativas equivalentes a ftell() y fseek() (con el origen puesto a SEEK_SET), poniendo y almacenando el valor actual del desplazamiento desde o en el objeto referenciado por pos. En algunos sistemas no UNIX un objeto fpos_t puede ser un objeto complejo y estas rutinas pueden ser la única manera de reposicionar un flujo de texto de forma transportable.

If the stream refers to a regular file and the resulting stream offset is beyond the size of the file, subsequent writes will extend the file with a hole, up to the offset, before committing any data. See lseek(2) for details on file seeking semantics.

The rewind() function returns no value. Upon successful completion, fgetpos(), fseek(), fsetpos() return 0, and ftell() returns the current offset. Otherwise, -1 is returned and errno is set to indicate the error.

The whence argument to fseek() was not SEEK_SET, SEEK_END, or SEEK_CUR. Or: the resulting file offset would be negative.
The file descriptor underlying stream is not seekable (e.g., it refers to a pipe, FIFO, or socket).

Las funciones fgetpos(), fseek(), fsetpos() y ftell() pueden fallar también y poner un valor en errno para cualquiera de los errores especificados para las rutinas fflush(3), fstat(2), lseek(2) y malloc(3).

Para obtener una explicación de los términos usados en esta sección, véase attributes(7).

Interfaz Atributo Valor
fseek(), ftell(), rewind(), fgetpos(), fsetpos() Seguridad del hilo Multi-hilo seguro

C11, POSIX.1-2008.

POSIX.1-2001, C89.

lseek(2), fseeko(3)

La traducción al español de esta página del manual fue creada por Gerardo Aburruzaga García <gerardo.aburruzaga@uca.es>

Esta traducción es documentación libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.

Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org.

2 Mayo 2024 Páginas de Manual de Linux 6.8