Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1216 connectés 

  FORUM HardWare.fr
  Programmation

  [Algo] lister les fichiers récursivement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Algo] lister les fichiers récursivement

n°14260
bibo
-... .. -... ---
Posté le 14-02-2001 à 12:12:20  profilanswer
 

:hello:
 
Est ce que quelqu'un aurait un algo pour lister les fichiers récursivement dans un répertoire donné (en fait ça correspond à ce que fait la fonction dir /s) ?
 
Si ça peut être utile, on peut supposer qu'on dispose d'une fonction qui liste les fichiers et une autre qui liste les répertoires, mais sur un niveau seulement. Donc pour chaque répertoire il faut rentrer dedans et lister à nouveau fichier et répertoire, ...
 
Parce que là j'ai un peu de mal :D

mood
Publicité
Posté le 14-02-2001 à 12:12:20  profilanswer
 

n°14262
gilou
Modérateur
Modzilla
Posté le 14-02-2001 à 12:21:39  profilanswer
 

Hop, un tuyeau:
Tu considere comme structure de donnee un arbre (non-binaire).
donc la sdd de base c'est un noeud, avec des champs:
noeud *pere, noeud *premier-fils, noeud *frere-suivant
Lorque tu entre dans un directory, tu crees la liste des fils du directory (suite chainee de noeuds pointant sur le meme directory pere), et tu etablis le lien premier-fils, et les liens frere-suivant (a partir de l'ordre lexicologique des noms des repertoires fils).
Tu es donc ramene a un parcour recursif d'arbre, "depth-first".
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°14265
wouatouwou​atou
Posté le 14-02-2001 à 12:44:40  profilanswer
 

bah... tu peux mettre dans ta fonction qui liste les repertoires un test ki fait:
 
  si c un fichier
  alors on affiche le fichier
  sinon on rappelle la fonction ki liste les repertoires (avec bien sur le nom du repertoire comme argument !!!)
 
Et la, HOP !! plus kune seule fonction :D


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"
n°14306
bibo
-... .. -... ---
Posté le 14-02-2001 à 14:32:30  profilanswer
 

Houla :ouch: les arbres, je me rappelle que c'était assez chiant les cours sur ça :(
 
merci quand même gilou, je devrais arriver à me débrouiller avec ça :jap:
 
wouatouwouatou > nan je peux pas modifier cette fonction, je peux juste m'en servir (et pis c'est pas moi qui l'ai faite) :D

n°14709
gilou
Modérateur
Modzilla
Posté le 16-02-2001 à 23:05:03  profilanswer
 

T'as un exemple de code (windows) qui fait ca dans le wdj de janvier 2000.
Vas voir sur le site web www.wdj.com
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°14716
z51
Posté le 16-02-2001 à 23:50:27  profilanswer
 

L'arbre je vois pas trop l'intérêt, à moins que tu veuilles pouvoir te ballader dedans ...
Si c'est juste pour lister les fichiers utilise une fonction récursive.

n°14724
gilou
Modérateur
Modzilla
Posté le 17-02-2001 à 01:16:44  profilanswer
 

>L'arbre je vois pas trop l'intérêt, à moins que tu veuilles pouvoir te ballader dedans ...  
 
J'avais pas dit qu'il fallait le construire, l'arbre, j'avais donne le principe de l'algo:
Tu es donc ramene a un parcour recursif d'arbre, "depth-first".  
 
C'est a dire: tu dois utiliser une fonction similaire a celles employees dans un parcour recursif d'arbre, "depth-first".
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°14745
z51
Posté le 17-02-2001 à 12:00:24  profilanswer
 

Partant de tes deux fonctions : ListeRepertoires (sur un niveau) et ListeFichiers (sur un niveau), ta fonction récursive ressemble à ça :
 
ListeRecursivement(chemin)
{
    ListeRepertoires(chemin)
    Pour tous les répertoires trouvés :
    {
       Si (Repertoire<>"." et Repertoire <>".." )
       {
          ListeRecursivement(chemin+repertoire)
       }
    }
 
    ListeFichiers(chemin)
}
 
La ligne "Si (Repertoire<>"." et Repertoire <>".." )" permet d'éviter une boucle infinie sur le répertoire courant et le répertoire parent.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Algo] lister les fichiers récursivement

 

Sujets relatifs
[Delphi 5 std] Fichiers indexés, ou autre solution...[PERL ?] URGENT : Commande avancée pour déplacer les fichiers
[Flash] cherche fichiers *.flaAlgo de checksum en Pascal ?
Conversion : Fichiers DOC en HTML...URGENT!!!!!!projet d'algo
projet d'algoImprimer HTML Fichiers
[C++] Pb d'écriture de fichiers binaires[PHP] Droit fichiers chez les hebergeurs
Plus de sujets relatifs à : [Algo] lister les fichiers récursivement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR