salut tlm
Je viens d'ecrire une fonction qui parcours le répertoire passé en argument et liste son contenu (merci à Fred), mais il reste encore un pb, il ne distingue pas entre fichier et repértoire (sauf si je lui passe en argument le repertoire courant là où il se trouve ! c'est étrange!).
en effet voila le code que j'ai ecris :
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <sys/stat.h>
#include <iostream>
int main( int argc, char* argv[] )
{
if( argc < 2 )
{
std::cerr << "Usage: " << std::endl;
std::cerr << argv[0] << " DicomDirectory"
<< std::endl;
return EXIT_FAILURE;
}
std::string tmp;
DIR *dp;
dirent *ep;
struct stat buf;
dp = opendir(argv[1]);
if (dp != NULL)
{
while ((ep = readdir(dp)) != NULL)
{
tmp = ep->d_name;
std::cout<<tmp.c_str();
if (stat(tmp.c_str(), &buf))
{
buf.st_mode = 0;
buf.st_size = 0;
buf.st_atime = 0;
buf.st_mtime = 0;
buf.st_ctime = 0;
}
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;
}
merci d'avance
TimCha