FECHA-HORA MODIFICACION DE ARCHIVO.
Publicado por Pedrock (5 intervenciones) el 08/02/2007 09:58:06
Buenos días,
Estoy tratando de averiguar, en C++ y Linux, por separado el dia, el mes, el año, la hora y el minuto de modificacion de los archivos. Estoy usando la funcion stat de la siguiente manera:
(stat(ruta.c_str(), &temp) -> donde ruta es un string que contiene la ruta del archivo y temp es una estructura de tipo stat.
Con el metodo &temp.st_ctime, por definicion se consigue la hora de la ultima modificacion.
Pero, ¿de que manera consigo el dia, mes, año y minuto?
Trate, con la libreria time.h, transformar este dato a lo que yo quiero de la siguiente manera:
petm = localtime(&temp.st_ctime) (petm esta definida asi struct tm* petm = localtime(&t))
y lo convierto con las siguientes instrucciones
date = petm->tm_year; date = petm->tm_mon; date = petm->tm_day; (date es un int)
Suponia que de un dato hora, no me iba a devolver el resto de datos que yo queria y asi fue... Pero lo probe por si acaso. En algunos casos, el año me lo ha devuelto a 107, el mes a 0, etc... En principio tendria que devolver año 2007 y mes 01 o 02.
¿Como puedo resolverlo?
MUCHAS GRACIAS DE ANTEMANO.
Estoy tratando de averiguar, en C++ y Linux, por separado el dia, el mes, el año, la hora y el minuto de modificacion de los archivos. Estoy usando la funcion stat de la siguiente manera:
(stat(ruta.c_str(), &temp) -> donde ruta es un string que contiene la ruta del archivo y temp es una estructura de tipo stat.
Con el metodo &temp.st_ctime, por definicion se consigue la hora de la ultima modificacion.
Pero, ¿de que manera consigo el dia, mes, año y minuto?
Trate, con la libreria time.h, transformar este dato a lo que yo quiero de la siguiente manera:
petm = localtime(&temp.st_ctime) (petm esta definida asi struct tm* petm = localtime(&t))
y lo convierto con las siguientes instrucciones
date = petm->tm_year; date = petm->tm_mon; date = petm->tm_day; (date es un int)
Suponia que de un dato hora, no me iba a devolver el resto de datos que yo queria y asi fue... Pero lo probe por si acaso. En algunos casos, el año me lo ha devuelto a 107, el mes a 0, etc... En principio tendria que devolver año 2007 y mes 01 o 02.
¿Como puedo resolverlo?
MUCHAS GRACIAS DE ANTEMANO.
Valora esta pregunta


0