Date Fichier

nicompx Messages postés 107 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 15 juillet 2009 - 21 sept. 2006 à 11:32
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 - 21 sept. 2006 à 19:12
Salut,


Pouvez-vous me dire comment récupérer la date de modification d'une fichier.
En language C sous linux.

Merci


>> NiCoMpX <<

3 réponses

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 25
21 sept. 2006 à 12:01
Tu peux faire un appel système à la commande ls et recuperer le resultat par l'intermédiaire d'un pipe

++
0
nicompx Messages postés 107 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 15 juillet 2009
21 sept. 2006 à 13:31
Salut,

Je suis débutant en programmation LINUX.

Est-ce que tu as un exemple?

>> NiCoMpX <<
0
cs_AlexN Messages postés 694 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 8 janvier 2014 19
21 sept. 2006 à 19:12
les dates de création et de modification se trouve dans les timestamp d'une inode.
La fonction stat() permet d'obtenir ces infos dans le champ mtime d'une structure stat ("man 2 stat" pour connaitre la structure complète)

#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <libgen.h>

int main(int argc, char *argv[])
{
    struct stat mystat;
    char date[100];

    if ( argc < 2) { printf ("Usage %s NomFichier\n", basename(*argv)); exit (EXIT_FAILURE); }
    if ( stat(argv[1], &mystat ) == -1 ) { perror ("stat"); exit (EXIT_FAILURE); }
    strftime(date, 100, "%c", localtime(&mystat.st_ctime));
    printf ("Date de création de %s : %s\n", argv[1], date);
    strftime(date, 100, "%c", localtime(&mystat.st_mtime));
    printf ("Date de dernière modification de %s : %s\n", argv[1], date);
    return EXIT_SUCCESS;
}
0
Rejoignez-nous