Question

Je dois modifier le « créé » (si elle existe), « modifié » et « accessible » horodatages d'un fichier. Idéalement, ce serait une solution de plate-forme indépendante.

Je l'ai regardé autour des bibliothèques Boost, mais je ne vois rien de pertinent. Le plus proche que j'ai trouvé quelque chose de pertinent est ce pour Windows.

Quelqu'un peut-il aider? Merci.

Était-ce utile?

La solution

Je ne les ai jamais utilisé, mais je suppose que vous êtes à la recherche pour les fonctions d'attributs:
http: //www.boost .org / doc / libs / 1_44_0 / libs / système de fichiers / v2 / doc / reference.html # attribut fonctions

Il y a des fonctions aussi pour la dernière modification:

template <class Path> std::time_t last_write_time(const Path& p);
template <class Path> void last_write_time(const Path& p, const std::time_t new_time);

Autres conseils

Autre , extrait de code un peu plus simple pour Windows .

Utilisez la fonction utime et utimbuf struct . La méthode est disponible sous Windows, mais est nommé avec un underscore comme _utime .

Mise à jour: utime seulement vous permet de changer le accès et modification fois (via les champs utimbuf de actime et modtime). Ceci est très probablement parce que de nombreux systèmes de fichiers de type Unix ne pas enregistrer le création temps partout.

Pas tout le soutien filesystems populaire 'créé' et 'accessibles': http: // fr. wikipedia.org/wiki/Comparison_of_file_systems#Metadata

systèmes de fichiers de Windows font, mais il pourrait ne pas être une bonne idée de dépendre d'eux maintenant si vous avez besoin de portabilité. En regardant cette table, je reçois une impression qu'il ya une tendance à ajouter le support pour eux dans les nouveaux systèmes de fichiers si.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top