[C++] Chemin d'accès des fichiers, et sous répertoire

Chemin d'accès des fichiers, et sous répertoire [C++] - C++ - Programmation

Marsh Posté le 17-11-2004 à 13:53:45    

Bonjour,
 
Je cherche une petite solution pour obtenir le chemin d'accès de tous les fichiers d'un répertoire, ansi que ceux des fichiers contenus dans les sous dossiers de ce dossier source.
 
J'ai lu cette methode
http://c.developpez.com/faq/bcb/?p [...] repertoire
 
J'ai adapté un peu ca pour mettre les chemins d'accès des fichiers dans un vecteur.
 

Code :
  1. void Enregistrement::Search(AnsiString FilePath, AnsiString source)
  2. {
  3.   //************************************
  4.   //  Permet de lister tous les fichiers d'un répertoire
  5.   //************************************
  6.   TSearchRec Infos_fichier;
  7.   if (!FindFirst(source+"/*.*", faAnyFile, Infos_fichier))
  8.   do
  9.   {
  10.       if (ExtractFileExt(Infos_fichier.Name).LowerCase() != ""
  11.           &&
  12.            ExtractFileExt(Infos_fichier.Name).LowerCase() != "."
  13.           &&
  14.            ExtractFileExt(Infos_fichier.Name).LowerCase() != ".."
  15.            )
  16.       {
  17.       if(source.Length() == 3)
  18.        vecFichiers.push_back(source+Infos_fichier.Name);
  19.       else
  20.        vecFichiers.push_back(source+"\\"+Infos_fichier.Name);
  21.       }
  22.   }
  23.   while(!FindNext(Infos_fichier));
  24.   FindClose(Infos_fichier);
  25. }


 
Mais avec ca je n'ai pas les chemins d'accès des fichiers des sous répertoires.
 
Je pense qu'il faudrait une methode récursive, mais je ne maitrise pas le sujet.
 
merci de votre aide.


Message édité par Le Veilleur le 17-11-2004 à 13:54:10

---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
Reply

Marsh Posté le 17-11-2004 à 13:53:45   

Reply

Marsh Posté le 17-11-2004 à 14:31:45    

Code :
  1. void  Enregistrement::ListerFichiers(AnsiString NomRep, AnsiString extension, bool SousRep)
  2. {
  3. TSearchRec Rec;
  4. int trouve;
  5. if (NomRep.SubString(NomRep.Length(),1) !="\\" ) NomRep+="\\";
  6. trouve = FindFirst(NomRep+"*."+extension, faAnyFile, Rec);
  7. while (trouve == 0)
  8. {
  9.   if(Rec.Attr == faArchive)
  10.     vecFichiers.push_back(NomRep+Rec.Name);
  11.   if ((Rec.Attr && faDirectory >0) && (Rec.Name[1] != '.') && (SousRep == true))
  12.    ListerFichiers( NomRep+Rec.Name, extension, true);
  13.   trouve = FindNext(Rec);
  14. }
  15. FindClose(Rec);
  16. }


 
pour ceux que ca intéresse ;)


---------------
Mon Blog : LeVeilleur.net | Hébergement d'images : Hostipics.net
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed