Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/04/2011, 11:42
Trovaz
 
Fecha de Ingreso: octubre-2010
Ubicación: Edo. de México
Mensajes: 94
Antigüedad: 13 años, 7 meses
Puntos: 9
Respuesta: Modulo en linux

nunca he utilizado la macro CURRENT_TIME pero me imagino que el entero que te devuelve es el número de segundos que han transcurrido desde la creación de linux ( o algo asi hehe). Talvez el siguiente codigo te sirva de algo.

Código c:
Ver original
  1. #include <time.h>
  2. #include <locale.h>
  3. #include <langinfo.h>
  4. #include <string.h>
  5.  
  6. int obtenHora(char *formato, char **destino){
  7.   *destino = NULL;
  8.   time_t rawtime;
  9.   struct tm *timeinfo;
  10.   char buffer[80];
  11.  
  12.   time(&rawtime);
  13.   timeinfo = localtime(&rawtime);
  14.   strftime(buffer, sizeof(buffer), formato, timeinfo);
  15.   *destino = (char *)malloc((strlen(buffer) + 1) * sizeof(char));
  16.   strcpy(*destino, buffer);
  17.   return 0;
  18. }
  19.  
  20. int main(void){
  21.   char *hora = NULL;
  22.   obtenHora("%Y%m%d_%H%M%S", &hora);
  23.   printf("%s\n", hora);
  24.   if(hora != NULL){
  25.     free(hora);
  26.     hora = NULL;
  27.   }
  28.   return 0;
  29. }

Aqui básicamente lo que hago es obtener ese numero entero que tu tienes en tu macro a partir de la funcion time() y lo almaceno en "rawtime". Luego creo una estructura de tipo tm llamada "timeinfo", en donde se almacena la informacion de hora, minutos, segundos, etc. Pr ultimo le doy formato con la función strftime().

Espero te sea de ayuda, Salu2