Salut,

J'ai créé une fonction récursive qui parcours une arborescence à la recherche d'un certain type de dossier, qui les Zippes quand elle les trouve. J'ai galéré toute l'après midi avec l'assignation de mémoire dynamique pour des tableaux de chaines. J'ai pourtant consulté beaucoup de pages de forums, et j'ai l'impression d'avoir fait ce qu'il fallait. Le code compile, mais l'appli crash au bout de quelques secondes. Je ne vous mets qu'un bout du code...
Y'a-t'il un pro qui aurait quelques minutes pour m'aider ?

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
32
33
34
35
36
37
38
39
 
int arbo (char PATH[256])
{
...
char **SubFolderNames = NULL;
 
struct dirent *folder;     //|Déclaration de la structure qui contiendra le dossier 
   DIR *rep;               //|
 
   rep = opendir(PATH);     //Ouvre les sous dossiers de rep  
 
 
   while ((folder = readdir(rep)))       //boucle qui traite tous les sous dossiers
   {
   if (i%STEP ==2) {SubFolderNames = realloc (SubFolderNames, (i + STEP) * sizeof (char *));}
   if (i>1)        //si i=0 d_name=. et si i=1 d_name=.. (dans ces cas la procédure ne s'applique pas)
      { 
       SubFolderNames[i]= (char *) malloc (sizeof (folder->d_name));         
       RESULTS[i]=0;     
       strcpy(SubFolderNames[i],folder->d_name);  //On recupère le nom du ième sous dossier dans SubFolderNames
       sprintf(FULLPATH,"%s\\%s",PATH,SubFolderNames[i]);   //On stocke le chemin du sous dossier en cours dans FULLPATH       
 
       if (Project_Or_Not(FULLPATH) )    //Si le sous dossier est un projet 
          {    ....    }
       else           //Si le sous dossier n'est pas un projet
          {
         if (opendir(FULLPATH))                
             {
             RESULTS[i]=arbo(FULLPATH);  //appelle de la fontion 
             }           
         else   {   ...   }
          }
 
      } //fin de if (i>1) 
 
   i++; 
   }//Fin du while qui traite les sous dossiers 
...
}//Fin de la fonction arbo
Je suis bien sur a votre disposition si vous avez besoin d'éclaircissements ou de voir plus de code.
Merci d'avance