Estoy teniendo problemas con las funciones time y localtime para obtener la hora local. En el siguiente ejemplo que muestro intento obtener dos fechas diferentes con un delay de 5 seg entre ellas, usando variables independientes.
Antes de obtener la segunda fecha imprimo también en pantalla la primera para la comprobación.
Código
#include <stdio.h> #include <time.h> #include <windows.h> #define TFECHA 30 int main () { time_t t1,t2; struct tm *tinfo1, *tinfo2; char f1[TFECHA],f2[TFECHA]; time(&t1); tinfo1=localtime(&t1); strftime(f1, TFECHA, "%d/%m/%Y %H:%M:%S", tinfo1); printf("%s\n", f1); Sleep(5000); time(&t2); tinfo2=localtime(&t2); strftime(f1, TFECHA, "%d/%m/%Y %H:%M:%S", tinfo1); strftime(f2, TFECHA, "%d/%m/%Y %H:%M:%S", tinfo2); printf("%s\n%s", f1,f2); return 0; }
Sin embargo al imprimir al final las dos últimas fechas, los valores que se obtienen son exactamente iguales. No entiendo por qué al ejecutar tinfo2=localtime(&t2) la estructura t1 también se ve alterada...
Salida generada:
Código:
25/12/2013 15:38:34
25/12/2013 15:38:39
25/12/2013 15:38:39
Si alguien pudiera aclarármelo se lo agradecería.
Saludos.