Manipulation de date de fichier

alphaone Messages postés 134 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 14 novembre 2009 - 22 mai 2009 à 07:20
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 23 mai 2009 à 08:47
Bonjour, voila mon code actuel:
<meta name="qrichtext" content="1" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style type="text/css"><![CDATA[
p, li { white-space: pre-wrap; }
]]></style><!--StartFragment-->bool changeFileDateTime(QString const& file,time_t ctime,time_t actime,time_t modtime)

{

#ifdef Q_CC_GNU

//this function avalaible on unix and mingw

utimbuf butime;

butime.actime=actime;

butime.modtime=modtime;

return utime(file.toLatin1().data(),&butime)==0;

#else

return false;

#endif

}

J'ai 2 petite question:

- Comment définir la date de création?

- Pouvez vous me donner l'équivalent en visual studio?

Merci d'avance.

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 mai 2009 à 11:14
"en visual studio"
NON, VS est un IDE, pas un langage.

Voir SetFileTime() sur MSDN, exemple complet est donné.

ciao...
BruNews, MVP VC++
0
alphaone Messages postés 134 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 14 novembre 2009
22 mai 2009 à 12:30
Comment obtenir mon handle de mon fichier sans appelle CreateFile comme il dise:
http://msdn.microsoft.com/en-us/library/ms724933(VS.85).aspx
Tu as pas sous la main comment interfacé FILETIME avec du t_time ?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 mai 2009 à 13:01
Ouverture de fichier c'est CreateFile() et rien d'autre.

ciao...
BruNews, MVP VC++
0
alphaone Messages postés 134 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 14 novembre 2009
22 mai 2009 à 14:36
Donc cela te semble bon:
<meta name="qrichtext" content="1" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><style type="text/css"><![CDATA[
p, li { white-space: pre-wrap; }
]]></style><!--StartFragment-->bool changeFileDateTime(QString const& file,time_t ctime,time_t actime,time_t modtime)

{

#ifdef Q_CC_GNU

//this function avalaible on unix and mingw

utimbuf butime;

butime.actime=actime;

butime.modtime=modtime;

return utime(file.toLatin1().data(),&butime)==0;

#else

#ifdef Q_CC_MSVC

FILETIME lpCreationTime;

FILETIME lpLastAccessTime

FILETIME lpLastWriteTime;

UnixTimeToFileTime(ctime, &lpCreationTime);

UnixTimeToFileTime(actime, &lpLastAccessTime);

UnixTimeToFileTime(modtime, &lpLastWriteTime);

return SetFileTime(CreateFile(file.toStdWString(),0,0),

&lpCreationTime,

&lpLastAccessTime,

&lpLastWriteTime);

#else

return false;

#endif

#endif

}<!--EndFragment-->

J'ai pas visual pour testé, et pour la date de creation sur unix tu as une idée?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
22 mai 2009 à 20:34
Un handle de fichier se ferme si ouverture réussie:
CloseHandle()

Je t'ai mis un exemple ici:
http://www.cppfrance.com/code.aspx?id=50058

Pour tester un prog VS n'entre pour rien, c'est Windows qu'il faut.

ciao...
BruNews, MVP VC++
0
alphaone Messages postés 134 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 14 novembre 2009
23 mai 2009 à 07:26
Et sous unix pour la date de création tu sais pas ou je pourrai trouvé ça?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
23 mai 2009 à 08:47
Je ne bosse que sous Windows.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous