Pregunta

Me resulta necesario modificar el 'creado' (si existe), 'modificado' y 'visitada' marcas de tiempo de un archivo. Lo ideal sería que esto sería una solución independiente de la plataforma.

He mirado en torno a las bibliotecas Boost, pero no puedo ver nada relevante. El más cercano que he encontrado para algo relevante es este para Windows.

ayuda a nadie

Can? Gracias.

¿Fue útil?

Solución

He nunca los usa, pero supongo que usted está buscando para las funciones de atributos:
http: //www.boost .org / doc / libs / 1_44_0 / libs / sistema de archivos / v2 / doc / reference.html # atributo de funciones

También hay funciones de la última modificación:

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);

Otros consejos

Otra , un poco más sencillo fragmento de código para Windows .

Utilice el utime función y utimbuf estructura. El método está disponible en Windows, pero se nombra con un subrayado inicial como _utime .

Actualización: utime sólo se le permite cambiar el Acceso y modificación (a través de los tiempos utimbuf de actime y campos modtime). Esto es más probable debido a que muchos sistemas de archivos basados ??en Unix no registran el creación en cualquier momento.

No todos los populares sistemas de archivos de soporte 'creada' y 'accedida' marcas de tiempo: http: // en. wikipedia.org/wiki/Comparison_of_file_systems#Metadata

sistemas de ficheros de Windows hacen, pero podría no ser una buena idea a depender de ellos ahora si necesita portabilidad. En cuanto a esa mesa me da la impresión de que hay una tendencia a añadir soporte para ellos en los nuevos sistemas de ficheros sin embargo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top