readdir   Début   Suivant   Sommaire   Préc.page.lue   Accueil
Section: Manuel du programmeur Linux (3)
Updated: 30 juillet 2007
Sommaire  



NOM   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
readdir - Consulter un répertoire  



SYNOPSIS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
#include <sys/types.h>

#include <dirent.h>

struct dirent * readdir (DIR * dir);
 



DESCRIPTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
La fonction readdir() renvoie un pointeur sur une structure dirent représentant l'entrée suivante du flux répertoire pointé par dir. Elle renvoie NULL à la fin du répertoire, ou en cas d'erreur.

Sous Linux, la structure dirent est définie de la façon suivante :

struct dirent {
    ino_t          d_ino;       /* numéro d'i-noeud */
    off_t          d_off;       /* offset jusqu'à la dirent suivante */
    unsigned short d_reclen;    /* longueur de cet enregistrement */
    unsigned char  d_type;      /* type de file */
    char           d_name[256]; /* nom du fichier */
};

D'après POSIX, la structure dirent contient un champ char d_name[] de taille non spécifiée, avec au plus NAME_MAX caractères avant l'octet nul final. POSIX.1-2001 documente aussi le champ ino_t d_ino comme une extension XSI. Les autres champs ne sont pas normalisés et ne sont pas présents sur tous les systèmes ; voir NOTES plus loin pour plus de détails.

Les données renvoyées par readdir() sont écrasées lors de l'appel suivant à readdir() sur le même flux répertoire.  




VALEUR RENVOYÉE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
La fonction readdir() renvoie un pointeur sur une structure dirent, ou NULL lorsqu'une erreur se produit, ou lorsque la fin du répertoire est atteinte. Si une erreur survient, errno contient le code de l'erreur.  



ERREURS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
EBADF
Le flux répertoire dir est invalide.
 



NOTES   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Seuls les champs d_name et d_ino sont spécifiés par POSIX.1-2001. Les champs restants sont disponibles sur beaucoup, mais pas tous les systèmes. Avec la glibc, les programmes peuvent vérifier la disponibilité des champs non définis par POSIX.1 en testant si les macros _DIRENT_HAVE_D_NAMLEN, _DIRENT_HAVE_D_RECLEN, _DIRENT_HAVE_D_OFF ou _DIRENT_HAVE_D_TYPE sont définies.

Ailleurs que sous Linux, le champ d_type n'est principalement disponible que sur les systèmes BSD. Ce champ rend possible d'éviter la dépense de l'appel stat(2) si d'autres actions dépendent du type de fichier. Si la macro de test de fonctionalité _BSD_SOURCE est définie, la glibc définit les constantes suivantes pour la valeur renvoyée dans d_type :

DT_UNKNOWN
Le type de fichier est inconnu.
DT_REG
C'est un fichier régulier.
DT_DIR
C'est un répertoire.
DT_FIFO
C'est un tube nommé ou une FIFO.
DT_SOCK
C'est une socket de domaine Unix.
DT_CHR
C'est un périphérique de caractères.
DT_BLK
C'est un périphérique de blocs.

Si le type de fichier ne peut pas être déterminé, la valeur DT_UNKNOWN est renvoyée dans d_type.  




CONFORMITÉ   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
SVr4, BSD 4.3, POSIX.1-2001.  



VOIR AUSSI   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
read(2), closedir(3), dirfd(3), ftw(3), opendir(3), rewinddir(3), scandir(3), seekdir(3), telldir(3), feature_test_macros(7)  



TRADUCTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 5 novembre 1996 et révisée le 29 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 readdir ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


 



Sommaire   Début   Suivant   Sommaire   Préc.page.lue   Accueil
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
NOTES
CONFORMITÉ
VOIR AUSSI
TRADUCTION

Table des mots clés   Début   Suivant   Sommaire   Préc.page.lue   Accueil
DT_BLKNOTES
DT_CHRNOTES
DT_DIRNOTES
DT_FIFONOTES
DT_REGNOTES
DT_SOCKNOTES
DT_UNKNOWNNOTES
EBADFERREURS



Ce document a été créé par man2html suivi de man2html.pl, le 17/10/2008 17:51:09, en utilisant les pages de 'man'.
 

Valid HTML 4.01 Transitional