Namespaces
Variants

std::experimental::filesystem:: last_write_time

From cppreference.net
Défini dans l'en-tête <experimental/filesystem>
file_time_type last_write_time ( const path & p ) ;
file_time_type last_write_time ( const path & p, error_code & ec )
(1) (filesystem TS)
void last_write_time ( const path & p, file_time_type new_time ) ;
void last_write_time ( const path & p, file_time_type new_time, error_code & ec ) ;
(2) (filesystem TS)
1) Retourne l'heure de la dernière modification de p , déterminée comme si on accédait au membre st_mtime du stat POSIX (les liens symboliques sont suivis). La surcharge non-lancante retourne file_time_type :: min ( ) en cas d'erreurs.
2) Modifie l'heure de la dernière modification de p , comme avec la fonction POSIX futimens (les liens symboliques sont suivis).

Table des matières

Paramètres

p - chemin à examiner ou modifier
new_time - nouvelle heure de modification
ec - paramètre de sortie pour le rapport d'erreur dans la surcharge non-lancante

Valeur de retour

1) L'heure de la dernière modification de p .
2) (aucun)

Exceptions

The overload that does not take an error_code & parameter throws filesystem_error on underlying OS API errors, constructed with p as the first argument and the OS error code as the error code argument. std:: bad_alloc *Note: Le texte à traduire était uniquement constitué de balises HTML et de termes C++ spécifiques (`std::bad_alloc`), qui ne doivent pas être traduits selon les instructions. Par conséquent, la sortie reste identique à l'entrée.* may be thrown if memory allocation fails. The overload taking an error_code & parameter sets it to the OS API error code if an OS API call fails, and executes ec. clear ( ) if no errors occur. This overload has
noexcept spécification :
noexcept

Notes

Il n'est pas garanti qu'immédiatement après avoir défini l'heure d'écriture, la valeur retournée par (1) soit identique à celle passée comme argument à (2) car la granularité temporelle du système de fichiers peut être supérieure à celle de file_time_type .

Exemple

#include <chrono>
#include <experimental/filesystem>
#include <fstream>
#include <iomanip>
#include <iostream>
namespace fs = std::experimental::filesystem;
using namespace std::chrono_literals;
int main()
{
    fs::path p = fs::current_path() / "example.bin";
    std::ofstream(p.c_str()).put('a'); // créer le fichier
    auto ftime = fs::last_write_time(p);
    std::time_t cftime = decltype(ftime)::clock::to_time_t(ftime); // en supposant system_clock
    std::cout << "L'heure d'écriture du fichier est " << std::asctime(std::localtime(&cftime)) << '\n';
    fs::last_write_time(p, ftime + 1h); // avancer l'heure d'écriture de 1 heure
    ftime = fs::last_write_time(p); // relire depuis le système de fichiers
    cftime = decltype(ftime)::clock::to_time_t(ftime);
    std::cout << "L'heure d'écriture du fichier est " << std::asctime(std::localtime(&cftime)) << '\n';
    fs::remove(p);
}

Sortie possible :

L'heure d'écriture du fichier est Tue Mar 31 19:47:04 2015
L'heure d'écriture du fichier est Tue Mar 31 20:47:04 2015

Voir aussi

représente les valeurs temporelles des fichiers
(typedef)