Share via


Modification d’une heure de fichier à l’heure actuelle

L’exemple suivant définit l’heure de dernière écriture d’un fichier à l’heure système actuelle à l’aide de la fonction SetFileTime .

Le système de fichiers NTFS stocke les valeurs d’heure au format UTC, de sorte qu’elles ne sont pas affectées par les changements de fuseau horaire ou d’heure d’été. Le système de fichiers FAT stocke les valeurs d’heure en fonction de l’heure locale de l’ordinateur.

Le fichier doit être ouvert avec la fonction CreateFile à l’aide de FILE_WRITE_ATTRIBUTES accès.

#include <windows.h>

// SetFileToCurrentTime - sets last write time to current system time
// Return value - TRUE if successful, FALSE otherwise
// hFile  - must be a valid file handle

BOOL SetFileToCurrentTime(HANDLE hFile)
{
    FILETIME ft;
    SYSTEMTIME st;
    BOOL f;

    GetSystemTime(&st);              // Gets the current system time
    SystemTimeToFileTime(&st, &ft);  // Converts the current system time to file time format
    f = SetFileTime(hFile,           // Sets last-write time of the file 
        (LPFILETIME) NULL,           // to the converted current system time 
        (LPFILETIME) NULL, 
        &ft);    

    return f;
}