std::filesystem:: last_write_time
|
Definido en el encabezado
<filesystem>
|
||
|
std::
filesystem
::
file_time_type
last_write_time
(
const
std::
filesystem
::
path
&
p
)
;
|
(1) | (desde C++17) |
|
std::
filesystem
::
file_time_type
last_write_time
(
const
std::
filesystem
::
path
&
p,
std:: error_code & ec ) noexcept ; |
(2) | (desde C++17) |
|
void
last_write_time
(
const
std::
filesystem
::
path
&
p,
std:: filesystem :: file_time_type new_time ) ; |
(3) | (desde C++17) |
|
void
last_write_time
(
const
std::
filesystem
::
path
&
p,
std::
filesystem
::
file_time_type
new_time,
|
(4) | (desde C++17) |
st_mtime
del POSIX
stat
(los enlaces simbólicos son seguidos).
La sobrecarga que no lanza excepciones devuelve
file_time_type
::
min
(
)
en caso de errores.
futimens
(los enlaces simbólicos son seguidos).
Contenidos |
Parámetros
| p | - | ruta a examinar o modificar |
| new_time | - | nuevo tiempo de modificación |
| ec | - | parámetro de salida para reporte de errores en la sobrecarga que no lanza excepciones |
Valor de retorno
Excepciones
Cualquier sobrecarga no marcada como
noexcept
puede lanzar
std::bad_alloc
si la asignación de memoria falla.
Notas
No se garantiza que inmediatamente después de establecer el tiempo de escritura, el valor devuelto por (1,2) sea el mismo que el pasado como argumento a (3,4) porque el tiempo del sistema de archivos puede ser más granular que filesystem::file_time_type .
Ejemplo
#include <chrono> #include <filesystem> #include <format> #include <fstream> #include <iostream> using namespace std::chrono_literals; int main() { auto p = std::filesystem::temp_directory_path() / "example.bin"; std::ofstream{p.c_str()}.put('a'); // crear archivo std::filesystem::file_time_type ftime = std::filesystem::last_write_time(p); std::cout << std::format("File write time is {}\n", ftime); // mover la hora de escritura del archivo 1 hora hacia el futuro std::filesystem::last_write_time(p, ftime + 1h); // leer nuevamente del sistema de archivos ftime = std::filesystem::last_write_time(p); std::cout << std::format("File write time is {}\n", ftime); std::filesystem::remove(p); }
Salida posible:
File write time is 2023-09-04 19:33:24.702639224 File write time is 2023-09-04 20:33:24.702639224
Véase también
|
(C++17)
|
representa valores de tiempo de archivo
(typedef) |
|
obtiene el tiempo de la última modificación de datos del archivo al que se refiere la entrada del directorio
(función miembro pública de
std::filesystem::directory_entry
)
|