hora del sistema en C

Post a reply


BBCode is OFF
Smilies are OFF

Topic review
   

Expand view Topic review: hora del sistema en C

Post by Guest » Wed Aug 09, 2006 11:16 am

Muchas gracias! funciona perfectamente lo ke me faltaba era hacerle el "t2=time(NULL); " antes de comprobar la hora cada vez, por eso no me refrescaba. Bueno lo dicho gracias ;).

Post by traperic » Tue Aug 08, 2006 8:56 pm

Buenas, a mí si me la refresca bien, he probado con el siguiente código (basado totalmente en el tuyo):

Code: Select all

#include <stdio.h> #include <time.h> struct tm *tptr2; time_t t2; void timer1(void); int main(void) { timer1(); return 0; } void timer1(void) { int hora,minuto,limite; t2=time(NULL); tptr2 = localtime(&t2); limite=tptr2->tm_min+2; while(minuto!=limite) { t2=time(NULL); tptr2 = localtime(&t2); hora=tptr2->tm_hour; minuto=tptr2->tm_min; printf("%d:%d",hora,minuto); printf("\n"); } }
Está aproximadamente 2 minutos ejecutándose mostrando la salida por pantalla, se ve perfectamente como la salida cambia cuando cambia la hora... ¿quizás no es éso lo que preguntabas y no te he entendido bien? :?

Lo que si que no sé es hasta que punto es necesario que uses el END_OF_FUNCTION y si es necesario, también deberías usar LOCK_FUNCTION y LOCK_VARIABLE.

Saludos.

hora del sistema en C

Post by Jose » Tue Aug 08, 2006 3:02 pm

Buenas! Tengo un problema, uso una funcion para saber la hora del sistema, en una variable guardo la hora, y en otra el minuto. La idea es que genero una hora aleatoria concreta, y con un Timer voy comparando la hora generada con la hora del sistema. Más abajo os enseñare el codigo con el que comparo la hora, y las funciones que uso. La cosa esta en que no me refresca la hora, es decir siempre me devuelve la hora y el minuto del sistema en el que ejecute la aplicacion.
Asi es como lo hago para que me devuelva la hora del sistema:


CODE

struct tm* tptr2;
time_t t2 = time(NULL);

void timer1(void)
{
int hora,minuto;

tptr2 = localtime(&t2);
hora=tptr2->tm_hour;
minuto=tptr2->tm_min;
printf("%d:%d",hora,minuto);
printf("\n");

}
END_OF_FUNCTION(timer1);

Top