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