Bonjour,
Je souhaite récupérer la date de la dernière modification d'un fichier, j'ai donc cherché sur plusieurs fofo et autre grâce a google.
j'ai fini par trouver stat, mais chez moi (???) cela ne fonctionne que sur des dossier ... sur les fichier la date est celle du 01-01-1970 :/
voici le bout de code:
DIR *rep;
struct dirent *fichierLu;
struct stat statbuf;
struct tm *tm;
char datestring[256];
/* Loop through directory entries. */
while ((fichierLu = readdir(rep)) != NULL)
{
printf("dp->d_name : %s\n",fichierLu->d_name);
stat(fichierLu->d_name, &statbuf);
printf("statbuf.st_size : %jd \n", (intmax_t)statbuf.st_size);
tm = localtime(&statbuf.st_mtime);
strftime(datestring, sizeof(datestring), "%Y-%m-%d %H:%M:%S %Z", tm);
printf("datestring : %s \n", datestring);
printf("**********************************************************\n");
}
et voila le résultat :
dp->d_name : true.jpg
datestring : 1970-01-01 00:00:00 GMT
**********************************************************
dp->d_name : toto.txt
datestring : 1970-01-01 00:00:00 GMT
**********************************************************
dp->d_name : .
datestring : 2013-04-01 17:27:29 GMT
**********************************************************
dp->d_name : ..
datestring : 2013-03-23 18:11:04 GMT
**********************************************************
je souhaitais savoir ce que je fait de mal ou si je suis complètement a coté ?
Merci pour toute aide :)