Bonjour,
voilà j'utilise le fichier header <dirent.h>, avec lequel j'arrive à lister le contenu d'un répertoire.
Le problème c'est que le répertoire, passé en entrée pour la fonction opendir, est une constante char*.
Syntaxe : DIR *opendir(const char *).
Autrement dit, j'arrive pas à dynamiser le truc, càd lister le contenu d'un répertoire dont le nom (chemin) est passé en paramètre et non comme une constante. Ceci s'avère utile pour lister non seulement le contenu du répertoire mais aussi celui de ses sous-répertoires ;)
Est ce que quelqu'un pourra avoir une idée ?!
Pouvons nous par exemple modifier quelque chose dans le fichier header <dirent.h>, ou re-créer un autre qui hérite de celui-ci. (à noter que le fichier dirent.h manipule des structures et non des classes!) ...
Ci-dessous un petit exemple :
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
main()
{
struct dirent *lecture;
DIR *rep;
rep = opendir("/tmp");
while ((lecture = readdir(rep))) {
printf("FICHIER: %s\n", lecture->d_name);
}
}
Merci d'avance ;)
--------------------------------------------------------------------------------