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

C++ Discussion :

recuperer la liste des fichiers contenus dans un repertoire


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Par défaut recuperer la liste des fichiers contenus dans un repertoire
    Salut je fait une application qui doit indexer les fichiers contenus dans repertoire .j'ai donc besoin de recuperer la liste des noms longs contenus dans un repertoire mais je ne connait pas l'instruction à utiliser.
    Si quelqu'un peut m'aider je le remercie d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 94
    Par défaut
    Si tu travailles avec Mingw, tu as la bibliothèque "dirent". Les déclarations sont dans <dirent.h>.

    En gros, voici comment ça fonctionne :

    1) On ouvre le répertoire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DIR* rep = opendir("c:\documents and settings\moi\mes documents");
    Pour le répertoire courant, c'est "." ; pour le parent, c'est ".." .

    2) On lit fichier par fichier, a chaque fois un "dirent" est renvoyé sur le fichier suivant, c'est une sorte d'itérateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while (dirent* fichier = readdir(rep))
      cout << "Fichier suivant : " << fichier->d_name << "\n";
    En fait, readdir renvoie un pointeur sur le fichier suivant, c'est une structure où le nom est un char* dans d_name, ou un pointeur nul si on est à la fin du répertoire. A ce moment là, le pointeur fichier est nul d'où l'interruption de la boucle while.

    Pour plus d'informations :
    - Lire les prototypes et les commentaires dans dirent.h
    - Cette page : http://www.opengroup.org/onlinepubs/.../dirent.h.html
    - Google

    Bonne chance
    Kwakanar

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Tout est dans la FAQ C.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Par défaut
    merci pour ces reponses rapides.j'ai pu trouver la fonction dont j'avais besoin.Seulement il reste un probleme:
    elle n'a pas l'air de fonctionner pour les lecteurs externes et me renvoie le pointeur NULL chaque fois que j'essaie d'acceder à un repertoire situé sur un lecteur de disque autre que mon disque dur interne.
    C'est normal ou il y a un probleme?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 94
    Par défaut
    Peut-être en se tournant vers quelque chose de plus général comme ce que propose Qt (disponible en Open Source) ?

    Parce que pour le bas niveau, dirent c'est vraiment au ras des pâquerettes quoi ... ca vole pas bien haut

  6. #6
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 287
    Par défaut
    boost.file_system, c'est bien aussi.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Par défaut
    merci.
    je pense que je vais me mettre à QT dès maintenant.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 94
    Par défaut
    aah! ça c'est une bonne décision au moins

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2005
    Messages : 40
    Par défaut parcours d'un répertoire
    Le mieux est sans doute d'utiliser findfirst, findnext.
    Avec j'ai déjà parcouru des répertoires un peu n'importe ou (local, serveur distant, etc...).
    bon courage

  10. #10
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 287
    Par défaut Re: parcours d'un répertoire
    Citation Envoyé par deruyter
    Le mieux est sans doute d'utiliser findfirst, findnext.
    Propriétaire et pas portable. Contrairement à boost, ou à la limite QT.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

Discussions similaires

  1. [AC-2010] Récupérer dans une table la liste des fichiers contenus dans un répertoire
    Par possible924 dans le forum VBA Access
    Réponses: 6
    Dernier message: 22/02/2013, 22h00
  2. Réponses: 2
    Dernier message: 06/04/2009, 10h01
  3. Réponses: 1
    Dernier message: 13/09/2006, 11h50
  4. [InnoSetup] recuperer la liste des fichiers source
    Par Ben_Le_Cool dans le forum Installation, Déploiement et Sécurité
    Réponses: 5
    Dernier message: 26/07/2006, 17h30
  5. Réponses: 2
    Dernier message: 03/07/2006, 20h14

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