lunes, 1 de junio de 2009

Acceso aleatorio a ficheros

La E/S de ficheros en lenguaje C es habitualmente secuen-cial. Sin embargo, un fichero puede ser leído o escrito en cualquier orden.

La función fseek

fseek(fp, offset, origin)

FILE *fp;

long int offset;

int origin;

obliga a que la siguiente llamada a getc o putc tenga lugar sobre la posiciòn offset del fichero. El origen es 0, 1 ó 2 indicando si el offset es relativo al principio del fichero (0), a la posición actual (1) o al final del fichero (2)

La función

long int ftell(fp)

FILE *fp;

devuelve la posición actual del offset a partir del principio o del final del fichero fp.

La función

rewind(fp)

FILE *fp

es equivalente a:

fseek(fp, 0L, 0);

No hay comentarios:

Publicar un comentario