FSEEK(3)

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

SINOPSIS
#include <stdio.h>

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

void rewind(FILE *stream);

int fgetpos(FILE *restrict stream, fpos_t *restrict pos);
int fsetpos(FILE *stream, const fpos_t *pos);

DESCRIPCIÓN
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.

VALOR DEVUELTO
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.

ERRORES

EINVAL
    The whence argument to fseek() was not SEEK_SET, SEEK_END, or SEEK_CUR. Or: the resulting file offset would be negative.

ESPIPE
    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).

ATRIBUTOS
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

CONFORME A
POSIX.1-2001, POSIX.1-2008, C89, C99.

VÉASE TAMBIÉN
lseek(2), fseeko(3)

COLOFÓN
Esta página es parte de la versión 5.11 del proyecto Linux man-pages. Puede encontrar una descripción del proyecto, información sobre cómo informar errores y la última versión de esta página en https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN
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 (https://www.gnu.org/licenses/gpl-3.0.html) 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>..