8
votes

Comment définir l'heure de modification d'un fichier programmatique?

Comment définir l'heure de modification d'un fichier programmatique dans Windows?


0 commentaires

6 Réponses :



2
votes

Utilisez SETFileInformationByhandle avec fichierInformationType comme fichier_basic_info


1 commentaires

@bobbymcr, et essayant réellement de trouver les informations, puis de le code eux-mêmes pourrait être plus bénéfique que d'attendre que quelqu'un d'autre fasse tout le travail.




8
votes

Windows (ou le CRT standard, de toute façon) a le même utiles la famille de fonctions que UNIX a. xxx

à l'aide de fonctions Win32, FILE_BASIC_INFO peut être défini à l'aide de setFileInformationByhandle . xxx


1 commentaires

Pour autant que je sache, vous comprenez que Windows ne fonctionne pas pour les répertoires, car ils ne sont pas traités comme des fichiers sous Windows.



1
votes

J'ai trouvé que cela sera utile sur Windows SetFileTime ()


0 commentaires

0
votes

Voici la solution pour Darwin. Toute la sécurité supprimée.

#include <sys/stat.h>
#include <sys/time.h>

// params
char *path = "a path to a dir, a file or a symlink";
long int modDate = 1199149200;
bool followLink = false;

// body
struct stat currentTimes;

struct timeval newTimes[2];

stat(path, &currentTimes);

newTimes[0].tv_sec = currentTimes.st_atimespec.tv_sec;
newTimes[0].tv_usec = (__darwin_suseconds_t)0;
newTimes[1].tv_sec = modDate;
newTimes[1].tv_usec = (__darwin_suseconds_t)0;

if (followLnk) {
    utimes(path, (const struct timeval *)&newTimes);
} else {
    lutimes(path, (const struct timeval *)&newTimes);
}


0 commentaires