Passage en récursif d'un programme en C
Bonjour,
J'ai écris un programme en C (sur DevCpp) qui permet de lister les fichiers". txt" contenus dans un répertoire racine ; et tout cela en utilisant l'API Windows. Cela fonctionne bien, mais maintenant je souhaiterais que mon programme liste également les fichiers".txt" contenus dans d'éventuels sous-dossiers du dossier racine. J'ai pensé utiliser la récurssivité, mais je n'arrive à construire ce nouveau programme récurssif.
Est-ce-que quelqu'un peut m'aider ?
Merci
Voici mon programme :
Code:
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| #include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main(int argc, char *argv[])
{
HANDLE hfind;
WIN32_FIND_DATA wfd;
// Initialise la recherche
hfind = FindFirstFile("c:\\MesDocs\\*.o", &wfd);
//Si quelque chose à été trouver
if (hfind != INVALID_HANDLE_VALUE)
{
// Commence la boucle
do
{
// Si ce n'est pas le répertoire courant DOS ...
if (wfd.cFileName[0] != '.')
{
// Affiche le nom du fichier trouver
printf ("%s\n", wfd.cFileName);
}
// Recherche le prochain
}while (FindNextFile(hfind, &wfd));
// Recherche terminer, ferme la recherche
FindClose(hfind);
// C'est terminer!!!
printf ("Recherche terminee\n");
}
else
{
printf ("Aucun fichier trouve\n");
//cout << "Aucun fichier n'a été trouver.\r";
}
system("PAUSE");
return 0;
} |