IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

comment r�cuperer les fichiers et les sous repertoires d'un repertoire


Sujet :

Visual C++

  1. #1
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut comment r�cuperer les fichiers et les sous repertoires d'un repertoire
    je veux faire une m�thode pour r�cuperer les sous repertoires et les fichiers d'un r�pertoire et les mettre dans deux listes :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
     
     void GetFiles(String^Direc)
     {
    array<String ^> ^ d;
    array<String ^> ^ f;
    List<String^>^ listf = gcnew List<String^>();
    List<String^>^ listd = gcnew List<String^>();
    f = Directory::GetFiles(Direc);
     for each (String ^ff in f)
    {
     listf->Add(f);
    }
     
     d = Directory::GetDirectories(Direc);
    for each (String ^dd in d)
     {
     listd->Add(d);
     }
     
     
     for each (String ^di in d )
     {
    GetFiles(di);
     
    }
     
     
     }
    mais j'ai un probl�me la liste ne prend pas des strings
    est ce que quelqu'un sait comment je pourrais faire?

    merci

  2. #2
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    void GetFiles(String^Direc)
     {
    array<String ^> ^ d;
    array<String ^> ^ f;
    List<String^>^ listf = gcnew List<String^>();
    List<String^>^ listd = gcnew List<String^>();
    f = Directory::GetFiles(Direc);
     for each (String ^ff in f)
    {
     listf->Add(f);
    }
     
     d = Directory::GetDirectories(Direc);
    for each (String ^dd in d)
     {
     listd->Add(d);
     }
     
     
     for each (String ^di in d )
     {
    GetFiles(di);
     
    }
     
     
     }
    En fait ce que je veux � la fin c'est recuperer tous les sous repertoires(et les sous -sous repertoires ..) dans mon array d :
    et tous les fichiers (et les fichiers des sous repertoires ..) dans mon array f :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    array<String ^> ^ f;
    j'ai essayer de passer par une liste mais ca marche pas, j'ai une erreur comme qoi cette list ne prend pas les System::String

    donc comment faire ?

  3. #3
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    j'ai retrouv� l'erreur

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
     
    void GetFiles(String^Direc)
     {
    array<String ^> ^ d;
    array<String ^> ^ f;
    List<String^>^ listf = gcnew List<String^>();
    List<String^>^ listd = gcnew List<String^>();
    f = Directory::GetFiles(Direc);
     for each (String ^ff in f)
    {
     listf->Add(ff);//au lieu de : listf->Add(f);
    }
     
     d = Directory::GetDirectories(Direc);
    for each (String ^dd in d)
     {
     listd->Add(dd);//au lieu de : listd->Add(d);
     }
     
     
     for each (String ^di in d )
     {
    GetFiles(di);
     
    }
     
     
     }

  4. #4
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut help!
    mtnt ca compile mais dans ma list je recupere pas les sous fichiers !!pourtant ma fct est recursive

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
     
    List<String^>^ listf0 ;
    List<String^>^ listd0 ;
     void GetFiles(String^Direc)
    {
    array<String ^> ^ d;
    array<String ^> ^ f;
    String ^mydirec = Direc;
    List<String^>^ listf = gcnew List<String^>();
    List<String^>^ listd = gcnew List<String^>();
    f = Directory::GetFiles(Direc);
    for each (String ^ff in f)
     {
     listf->Add(ff);
    }
    d = Directory::GetDirectories(Direc);
    for each (String ^dd in d)
    {
     listd->Add(dd);
    }
     
     for each (String ^di in d )
    {
    GetFiles(di);
     
    }
    listf0 = listf;
    listd0 = listd;
     
     }
    j'ai remarqu� que la listf et la listd � chaque boucle se remet � vide
    comment je pourrais r�soudre ca ?

  5. #5
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut je bloque!
    Citation Envoy� par ryoussef19
    mtnt ca compile mais dans ma list je recupere pas les sous fichiers !!pourtant ma fct est recursive

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
     
    List<String^>^ listf0 ;
    List<String^>^ listd0 ;
     void GetFiles(String^Direc)
    {
    array<String ^> ^ d;
    array<String ^> ^ f;
    String ^mydirec = Direc;
    List<String^>^ listf = gcnew List<String^>();
    List<String^>^ listd = gcnew List<String^>();
    f = Directory::GetFiles(Direc);
    for each (String ^ff in f)
     {
     listf->Add(ff);
    }
    d = Directory::GetDirectories(Direc);
    for each (String ^dd in d)
    {
     listd->Add(dd);
    }
     
     for each (String ^di in d )
    {
    GetFiles(di);
     
    }
    listf0 = listf;
    listd0 = listd;
     
     }
    j'ai remarqu� que la listf et la listd � chaque boucle se remet � vide
    comment je pourrais r�soudre ca ?
    j'ai tt essayer je suis toujours bloqu�
    comment pourrais je ajouter une liste (listf et listd) dans (listf0 et listd0)??

  6. #6
    R�dacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par d�faut
    l'exemple de la faq fonctionne. Copie colle le dans un nouveau projet console, et �tudie le code

  7. #7
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    l'exemple de la faq fonctionne ..il affiche la liste des repertoires et des fichiers ..je l ai utilis�

    moi ce que je veux c'est recuperer les fichiers dans ma listf0 et les repertoires dans ma liste listd0

    mais le pb que ma listf et listd se reinitialisent � chaque fois !donc � la fin quand je fais :
    listf0=listf;
    listd0=listd;
    je recupere que les derniers (pas tt)

    c'est cela mon pb!

  8. #8
    Membre �clair�
    Inscrit en
    Avril 2007
    Messages
    326
    D�tails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 326
    Par d�faut
    j'ai du passer par deux String et � chaque fois j'ajoute un nom de fichier + "\n"..du coup j'ai cr�e une liste manuellement
    et ca marche !

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 5
    Dernier message: 27/08/2009, 14h51
  2. R�ponses: 2
    Dernier message: 22/08/2007, 12h46
  3. R�ponses: 4
    Dernier message: 08/09/2006, 13h17
  4. R�ponses: 3
    Dernier message: 22/05/2006, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo