Obtenir la liste des sous répértoires d'un répértoire (Linux gcc-4.0)
almousafer
Messages postés7Date d'inscriptionmercredi 9 février 2005StatutMembreDernière intervention25 janvier 2006
-
23 janv. 2006 à 08:37
almousafer
Messages postés7Date d'inscriptionmercredi 9 février 2005StatutMembreDernière intervention25 janvier 2006
-
25 janv. 2006 à 12:28
Salut
je programme une application et j'ai besoin de savoir comment obtenir la liste des sous répértoires d'un répértoire : en effet ce répertoire contient des sous répértoires, et chaque sous répértoire contient une image Medicale.
Donc Je spécifie le nom du répértoire, et la fonction va parcourir successivement tous les sous répértoires et elle lira l'image trouvée dans chacun(....)
J'utilise le Linux Mandriva 2006 (gcc-4-..)
Merci.
almousafer
Messages postés7Date d'inscriptionmercredi 9 février 2005StatutMembreDernière intervention25 janvier 2006 25 janv. 2006 à 08:09
salut Fred et merci pour ta réponse, ça m'a aidé vraiment beaucoup, mais il reste encore un pb.
en effet voila le code que j'ai ecris à partir de ce que tu m'as ecris :
if (S_ISDIR(buf.st_mode))
{
std::cout<<" est un répértoire"<<std::endl;
}
else
std::cout<<" est un fichier"<<std::endl;
}
}
closedir (dp);
}
return EXIT_SUCCESS;
}
alors cette fonction marche bien( elle lit le répertoire passé en argument et le parcourt en enumerant son contenu), mais ne différe pas entre fichier et repértoire (méme les repértoires sont considerées comme des fichiers, mais ce qui m'etonne c'est que quand j'execute cette fonction dans le repértoire où elle est ([root@timhpux directorylister]# ./directorylister .), ou dans l'un de ses sous répertoires, j'ai bien des bons résultats! (les fichiers sont des fichiers, et les répertoires sont des repertoires!), mais si je l'execute ailleurs, il considére tous des fichiers.
almousafer
Messages postés7Date d'inscriptionmercredi 9 février 2005StatutMembreDernière intervention25 janvier 2006 25 janv. 2006 à 10:27
salut Fred
j'ai copié l'executable sous un autre répertoire et je l'ai executé là et sa marche bien.
Donc il ne marche bien que dans le répertoire courant ( où il se trouve) et ses sous répertoires.
est ce que t'as une idée sur ce qui se passe?