Obtenir la dernière modification du fichier dans Linux

Je suis en train de travailler sur un programme C là que j'ai besoin pour obtenir la dernière date de modification du fichier. Ce que fait le programme est une fonction parcourt chaque fichier dans un répertoire et lorsqu'un fichier particulier(s) est trouvé, il appelle une autre fonction pour vérifier que la dernière modification du fichier.

Dans le répertoire, il existe un mylog.txt.1mylog.txt.2 et mylog.txt.3 etc. Quand je liste le répertoire sous linux à l'aide de la ll commande je vois que mylog.txt.1 et mylog.txt.2 ont été modifiés le 4 Mai et mylog.txt.3 a été modifié le 3 Mai.

Lorsque le programme vérifie chacun de ces fichiers cependant, il est toujours de retour le 3 mai. Ci-dessous le code que j'utilise.

void getFileCreationTime(char *filePath)
{
    struct stat attrib;
    stat(filePath, &attrib);
    char date[10];
    strftime(date, 10, "%d-%m-%y", gmtime(&(attrib.st_ctime)));
    printf("The file %s was last modified at %s\n", filePath, date);
    date[0] = 0;
}

J'ai essayé toutes les différentes variations de st_ctimec'est à dire st_mtime et st_atime mais ils sont tous de retour le 3 mai.

Merci pour toute aide que vous pouvez fournir.

source d'informationauteur Boardy