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#include <time.h>
#include <locale.h>
#include <langinfo.h>
#include <string.h>
int obtenHora(char *formato, char **destino){
*destino = NULL;
time_t rawtime;
struct tm *timeinfo;
char buffer[80];
strftime(buffer
, sizeof(buffer
), formato
, timeinfo
); *destino
= (char *)malloc((strlen(buffer
) + 1) * sizeof(char)); return 0;
}
int main(void){
char *hora = NULL;
obtenHora("%Y%m%d_%H%M%S", &hora);
if(hora != NULL){
hora = NULL;
}
return 0;
}
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