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 :

[Débutant]Lister les fichiers d'un dossier relatif


Sujet :

C

  1. #1
    Membre expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut [Débutant]Lister les fichiers d'un dossier relatif
    Salut a tous. J'ai vu dans la faq comment lister les fichiers/dossier d'un dossier parent.J'ai donc un petit problème. Voilà le code
    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
    31
     
    #include <stdio.h>
    #include <dirent.h>
     
    int main(int argc, char *argv[]) {
         struct dirent *content;
         char *target;
         DIR *rep;
         if(argc < 2) {
                 rep = opendir(".");
                 target = ".";
         }else {
               rep = opendir(argv[1]);
               target = argv[1];
         }
        if(rep != NULL) {
               DIR *tmp;
           while(content = readdir(rep)) {
                 if((tmp = opendir(("%s\\%s", target, content->d_name))) != NULL) {//Le probleme doit venir de là
                       printf("<DIR> %s\n", content->d_name);
                       closedir(tmp);
                 }else {
                       printf("<FILE> %s\n", content->d_name);
                 }            
           }
           closedir(rep);
        }else {
              printf("The specified directory doesn't exist !");
        }
        return 0;
    }
    Tout fonctionne sauf que lorsque je liste les fichiers contenus dans le dossier désigner par 'target', et que l'un d'eux est en fait un dossier, il me met <FILE> et non <DIR>, parce qu'il ne le trouve pas.Hors, le dossier existe. Le probleme doit venir donc du chemin.Mais j'ai pas vraiment trouvé l'erreur. J'ai remplacé \ par / au cas ou, même problème.
    Merci

  2. #2
    Membre confirmé Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Points : 488
    Points
    488
    Par défaut
    opendir(("%s\\%s", target, content->d_name))
    Le prototype d'opendir est :

    DIR *opendir(const char *dirname);
    Donc un seul paramètre, utilise sprintf pour formater ton chemin.

  3. #3
    Membre expert
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Points : 3 401
    Points
    3 401
    Par défaut
    OK merci je vais voir ça.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/01/2007, 19h18
  2. Lister les fichiers d'un dossier
    Par Mom's dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 20/11/2006, 08h32
  3. [PC] Lister les fichiers d'un dossier
    Par toto_in_th_sky dans le forum Cobol
    Réponses: 2
    Dernier message: 11/09/2006, 17h44
  4. Réponses: 13
    Dernier message: 24/08/2006, 13h05
  5. Lister les fichiers d'un dossier par page
    Par bwatex dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 17/08/2006, 19h09

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