Utilisateur anonyme
-
10 mars 2010 à 19:32
tpoinsot
Messages postés345Date d'inscriptionmardi 1 juin 2004StatutMembreDernière intervention17 octobre 2014
-
11 mars 2010 à 10:18
Bonjour! :)
J'ai un pti'probleme trés simple mais qui me prend la tete royalement...
Donc j'ai un repertoire contenant que des fichiers... et je veut lister ces fichier du plus vieux aux plus récents grace à leur date de création.
le programme ne doit pas utiliser des commandes systemes windobe ni linu(l)x :-)
Ex system("dir ......") <- NO !
Bien sur j'ai cherché sur google qui n'est pas du tout mon amis !
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <sys/stat.h>
#include <time.h>
int main (void)
{
DIR *rep = opendir ("." );
if (rep != NULL)
{
struct dirent *lecture;
while ((lecture = readdir (rep)))
{
struct stat st;
stat (lecture->d_name, &st);
{
/* Modified time */
time_t t = st.st_mtime;
struct tm tm = *localtime (&t);
char s[32];
strftime (s, sizeof s, "%d/%m/%Y %H:%M:%S", &tm);
printf ("%-14s %s\n", lecture->d_name, s);
}
}
closedir (rep), rep = NULL;
}
return 0;
}
Ce code ne fonctionne pas car il m'affiche bien le nom de mes fichiers mais pour leurs date de création, ça m'affiche : 01/01/1980 ??????!!!!???
Donc j'ai besoin de votre aide car j'ai cherché tout cette aprem <- Oui mdr je sui débutant en C ...