Bonjour, je cherche à récupérer la date de modification (ou création) d'un fichier grace à son chemin.
J'ai bien trouvé la fonction "GetFileTime", mais je n'arrive pas à l'utiliser correctement, j'ai encore du mal avec MFC....
Merci pour votre aide![]()
Bonjour, je cherche à récupérer la date de modification (ou création) d'un fichier grace à son chemin.
J'ai bien trouvé la fonction "GetFileTime", mais je n'arrive pas à l'utiliser correctement, j'ai encore du mal avec MFC....
Merci pour votre aide![]()
salut,
ben ça n'a rien a voir avec les MFC c'est une api 32,
exemple tiré de MSDN et modifié par moi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 // GetLastWriteTime - retrieves the last-write time and converts the // time to a string // Return value - TRUE if successful, FALSE otherwise // hFile - must be a valid file handle // lpszString - pointer to buffer to receive string BOOL GetLastWriteTime(HANDLE hFile, LPSTR lpszString) { FILETIME ftCreate, ftAccess, ftWrite, ftLocal; SYSTEMTIME stCreate; // Retrieve the file times for the file. if (!GetFileTime(hFile, &ftCreate, &ftAccess, &ftWrite)) return FALSE; // Convert the last-write time to local time. if (!FileTimeToLocalFileTime(&ftWrite, &ftLocal)) return FALSE; // Convert the local file time from UTC to system time. FileTimeToSystemTime(&ftLocal, &stCreate); // Build a string showing the date and time. wsprintf(lpszString, "%02d/%02d/%d %02d:%02d", stCreate.wDay, stCreate.wMonth, stCreate.wYear, stCreate.wHour, stCreate.wMinute); return TRUE; } char szString[100]; HANDLE hFile=CreateFile("Myfichier.txt",GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); if (hFile != INVALID_HANDLE_VALUE) GetLastWriteTime(hFile, szString);![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
'Tain trop fort![]()
J'avais déjà essayé cet exemple, mais je l'exploitais mal, merci![]()
Tant que j'y suis, tu ne saurais pas comment récupérer cette date en genre de "timestamp" pour faire un classement et des comparaison facilement?
Merci.
Je viens de me rendre compte qu'il me faudrait les secondes aussi.... C'est possible?
salut,
disons que peut etre le moyen le plus facile c'est de le convertir en objet CTime
et d'utiliser la fonction GetSecond( ) .
que veux tu dire par timestamp tu veux un entier ?
avec la classe CTime tu peux construire un objet d'apres une structure SYSTEMTIME ou FILETIME.
apres tu peux utiliser les operateurs > < etc .. pour comparer.
voir constructeurs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CTime( const SYSTEMTIME& sysTime, int nDST = -1); CTime( const FILETIME& fileTime, int nDST = -1 );![]()
Ce qui est affirmé sans preuve peut être nié sans preuve Euclide.
Les conversions numériques en C,C++,C++/CLI
DLL d'extensions : écriture d'un plug-in de classe
Démarrer avec les MFC 2/2
Création d'un ActiveX MFC
Intégration d'une imprimante PDF pour éditions automatisées
Migrer du code de Visual C++ 6.0 vers Visual C++ 2005
Démarrer avec les MFC sous Visual C++1/2
la Faq Visual C++ 500 Q/R,Mon blog
Aide en Ligne MFC
Cours et tutoriels C++ - FAQ C++ - Forum C++.
Oui, c'est ca, car je voudrais trouver des couples de fichiers qui ont été créé en meme temps (à 3 secondes pres)Envoyé par farscape
Merci pour le CTime, je vais voir ca.
Partager