readdir

Autres langues

Langue: es

Version: 25 Julio 1997 (fedora - 25/11/07)

Autres sections - même nom

Section: 3 (Bibliothèques de fonctions)

NOMBRE

readdir - lee un directorio

SINOPSIS

 #include <sys/types.h>
 
 #include <dirent.h>
 
 struct dirent *readdir(DIR *dir);
 

DESCRIPCIÓN

La función readdir() devuelve un puntero a una estructura dirent que representa la siguiente entrada de directorio en el flujo de directorio al que apunte dir. Devuelve NULL cuando alcanza el fin-de-fichero o si hay un error.

Los datos devueltos por readdir() son sobreescritos por subsiguientes llamadas a readdir() para el mismo flujo de directorio.

La estructura dirent se define como sigue:

 
 struct dirent {
         long            d_ino;        /* número i-nodo */
         off_t           d_off;        /* despl. al siguiente dirent */
         unsigned short  d_reclen;     /* long. de este registro */
         unsigned char   d_type;       /* tipo de fichero */
         char            d_name[256];  /* nombre del fichero */
 };
 
 

Según POSIX, la estructura dirent contiene un campo char d_name[] de tamaño no especificado, con NAME_MAX caracteres como mucho precediendo al carácter cero terminador. El empleo de otros campos perjudicará la transportabilidad de sus programas.

FALLOS

El campo d_type no se implementa a partir de libc6 2.0.4 y siempre devolverá 0 (desconocido).

VALOR DEVUELTO

La función readdir() devuelve un puntero a una estructura dirent, o NULL si ocurre un error o se alcanza el fin-de-fichero.

ERRORES

EBADF
Descriptor de flujo de directorio inválido dir.

CONFORME A

SVID 3, POSIX, BSD 4.3

VÉASE TAMBIÉN

read(2), opendir(3), closedir(3), rewinddir(3), seekdir(3), telldir(3), scandir(3)