Espacios de nombres
Variantes
Acciones

std::filesystem::last_write_time

De cppreference.com
 
 
 
Definido en el archivo de encabezado <filesystem>
std::filesystem::file_time_type last_write_time(conststd::filesystem::path& p);

std::filesystem::file_time_type last_write_time(conststd::filesystem::path& p,

                                                std::error_code& ec)noexcept;
(1) (desde C++17)
void last_write_time(conststd::filesystem::path& p,

                     std::filesystem::file_time_type new_time);
void last_write_time(conststd::filesystem::path& p,
                     std::filesystem::file_time_type new_time,

                     std::error_code& ec)noexcept;
(2) (desde C++17)
1) Devuelve el tiempo (la fecha y la hora) de la última modificación de p, determinado como si se accediera al miembro st_mtime de la estructura stat de POSIX (se siguen los enlaces simbólicos). La sobrecarga que no lanza devuelve file_time_type::min() si ocurren errores.
2) Cambia el tiempo (la fecha y la hora) de la última modificación de p, como si fuera por la función futimens de POSIX (se siguen los enlaces simbólicos).

Contenido

[editar]Parámetros

p - La ruta de acceso a examinar o modificar.
new_time - El nuevo tiempo de modificación.
ec - El parámetro de salida para informe de errores en la sobrecarga que no lanza.

[editar]Valor de retorno

1) El tiempo de la última modificación de p.
2) (Ninguno).

[editar]Excepciones

La sobrecarga que no toma un parámetro std::error_code& lanza filesystem::filesystem_error en los errores de la API del sistema operativo subyacente, construido con p como el primer argumento de la ruta de acceso y el código de error del sistema operativo como el argumento del código de error. La sobrecarga que toma un parámetro std::error_code& lo establece en el código de error de la API del sistema operativo si una llamada a la API del sistema operativo falla, y ejecuta ec.clear() si no ocurren errores. Cualquier sobrecarga que no está marcada con noexcept puede lanzar std::bad_alloc si la asignación de memoria falla.

[editar]Notas

No se garantiza que inmediatamente después de establecer el tiempo de escritura, el valor devuelto por (1) sea el mismo que se pasó como argumento a (2) porque el tiempo del sistema de archivos puede ser más granular que filesystem::file_time_type.

[editar]Ejemplo

#include <iostream>#include <chrono>#include <iomanip>#include <fstream>#include <filesystem>   usingnamespace std::chrono_literals;int main(){auto p =std::filesystem::temp_directory_path()/"ejemplo.bin";std::ofstream(p.c_str()).put('a');// crear archivo   auto print_last_write_time =[](std::filesystem::file_time_typeconst& ftime){std::time_t cftime =std::chrono::system_clock::to_time_t(std::chrono::file_clock::to_sys(ftime));std::cout<<"El tiempo de escritura del archivo es "<<std::asctime(std::localtime(&cftime));};   auto ftime = std::filesystem::last_write_time(p); print_last_write_time(ftime);   std::filesystem::last_write_time(p, ftime + 1h);// mover el tiempo de escritura del// archivo una hora hacia el futuro ftime = std::filesystem::last_write_time(p);// leer desde el sistema de archivos print_last_write_time(ftime);   std::filesystem::remove(p);}

Posible salida:

El tiempo de escritura del archivo es Domingo 9 de mayo de 2021 23:29:58 El tiempo de escritura del archivo es Lunes 10 de mayo de 2021 00:29:58

[editar]Véase también

Representa los valores de tiempo de un archivo.
(typedef)[editar]
Obtiene o establece la fecha y la hora de la última modificación de datos del archivo al que se refiere la entrada de directorio.
(función miembro pública de std::filesystem::directory_entry)[editar]
close