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 |
Partager