[C++/POSIX] Fonction récursive pour lister des fichiers
Salut tous ,
je voulais faire une fonction récursive en C++ permettant de lister les fichirs d'un répértoire ainsi que ses sous répértoires , alors j'ai écris ce code C++ :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| void list_dir(
const std::string & n_dossier
){
struct dirent *a;
DIR *dir;
dir = opendir(n_dossier.c_str());
while ((a = readdir(dir)))
{
std::cout << a->d_name << std::endl;
if(!opendir(a->d_name)){
std::cout << a->d_name << std::endl;
} else {
std::cout << "<" << a->d_name << ">" << std::endl;
list_dir(a->d_name);
}
}
closedir(dir);
} |
Mais il ne marche pas , beh il se compile bien mais j'ai un résultat inattendu , parfois ça n'affiche qu'un seul fichier , parfois ça donne plein de points , et parfois ça donne un message d'erreur avec Runtime ...
Pourriez vous m'aider à résoudre mon probléme ?
Merci beaucoup d'avance .