Hello Greywolf,
Merci pour ta réponse détaillée, je vais tester certaines choses
Ce que je voudrais faire c'est juste éviter de répéter les codes des fonctions, le programme fonctionne bien mais j'utilise une fonction par argument passé en ligne de commande, par exemple :
test.exe -lt "c:\"
va se placer dans c:\ ( chdir(argv[2]) )
puis va utiliser cette fonction :
char * AllDat ()
{
DIR *FichA = opendir(".");
if (FichA != NULL)
{
struct dirent *FichL;
while ((FichL = readdir (FichA)))
{
struct stat st;
stat (FichL->d_name, &st);
{
time_t t = st.st_mtime;
struct tm tm = *localtime (&t);
char s[32];
strftime (s, sizeof s, "%d/%m/%Y %H:%M", &tm);
if (!strcmp(FichL->d_name, ".") || !strcmp(FichL->d_name, "..")) continue;
printf ("[%s] %s\n", s, FichL->d_name);
}}
closedir (FichA), FichA = NULL;
}}
si on utilise ceci : test.exe -la "c:\"
il va lancer une autre fonction identique à la précédente mais sans les dates .. et ainsi de suite avec d'autres arguments donc à mon avis répétition de code pour rien .. c'est pour ça que j'avais pensé à donner une valeur différente à une variable pour chaque argument et mettre des conditions suivant sa valeur dans une seule fonction. Mais je suis ouvert à toute autre solution