Fonction récursive pour la liste de tous les fichiers dans les sous répertoires

Je suis en train d'écrire une fonction qui renvoie une liste de tous les fichiers du dossier actuel et tous ses sous-dossiers. J'ai écrit ce code:

#include <iostream>
#include <dirent.h>
#include <cstring>

using namespace std;

int main() {
   DIR* dir; dirent* pdir;
   //From my workspace
   dir=opendir(".");     
   while (pdir=readdir(dir)) {
       if(/**********This pdir is a directory**********/) {
           /**********RECURSIVE CALL SHOULD BE HERE**********/
           cout<<pdir->d_name<<endl;
       }
   }
   closedir(dir);
   return 0;
}

J'ai cherché dans google et je ne sais pas comment faire:

  • Vérifier si le courant pdir est un répertoire
  • Aller à l'intérieur du répertoire et d'effectuer l'appel récursif sur elle

En attendant j'ai tout avoir sous la main car je ne sais toujours pas quels sont les arguments de la fonction récursive doit avoir.

Un indice?

InformationsquelleAutor Maroun | 2012-10-29