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é

Fonction rewinddir (POSIX)

Entête à inclure

#include <dirent.h>

Fonction rewinddir

void rewinddir( DIR * dirp );

La fonction rewinddir replace le flux de dossier au début. Le prochain appel à readdir relira donc les premières entrées du dossier.

Paramètres

Valeur de retour

Cette fonction ne renvoie aucune valeur.

Exemple de code

L'exemple suivant parcourt deux fois le même dossier sans le fermer entre les deux parcours.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
 26 
 27 
 28 
 29 
 30 
 31 
 32 
 33 
#define _POSIX_C_SOURCE 200809L

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

static void printDirectory(DIR * directory) {

    struct dirent * entry;
    while ((entry = readdir(directory)) != NULL) {
        puts(entry->d_name);
    }
}

int main(void) {

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

    puts("Premier parcours :");
    printDirectory(directory);

    rewinddir(directory);

    puts("Second parcours :");
    printDirectory(directory);

    closedir(directory);
    return EXIT_SUCCESS;
}
Repositionnement au début du dossier

Sujets connexes

closedir
DIR *
readdir
seekdir
telldir


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