Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Type DIR (POSIX)

Entête à inclure

#include <dirent.h>

Type DIR

typedef /* type opaque */ DIR;

Le type DIR représente un flux de dossier. Il s'agit d'un type opaque : un programme portable ne doit pas chercher à connaître sa structure interne, ni déclarer directement une variable de ce type.

En pratique, on manipule toujours des pointeurs de type DIR *. Ces pointeurs sont produits par opendir ou par fdopendir, puis libérés avec closedir.

Exemple de code

Le fragment suivant montre le cycle de vie minimal d'un flux de dossier.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
#define _POSIX_C_SOURCE 200809L

#include <dirent.h>
#include <stdio.h>
#include <stdlib.h>

int main(void) {

    DIR * directory = opendir(".");
    if (directory == NULL) {
        perror("opendir");
        return EXIT_FAILURE;
    }

    puts("Le dossier courant est ouvert.");

    if (closedir(directory) == -1) {
        perror("closedir");
        return EXIT_FAILURE;
    }

    return EXIT_SUCCESS;
}
Manipulation d'un pointeur DIR *

Sujets connexes

closedir
fdopendir
opendir
readdir
rewinddir


Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé