Hola a todos,
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.
#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:
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.