std::experimental::filesystem:: last_write_time
From cppreference.net
<
cpp
|
experimental
|
fs
|
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
Exécuter ce code
#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) |