uberalles
(usa Suse)
Enviado em 30/04/2010 - 16:43h
Acabei descobrindo como.
Quando postei essa pergunta, tinha pesquisado já bastante, e vi uma possível solução, mas envolvia outro tipo de estrutura de dados diferente da que estava usando. Isso envolvia a função ctime() da lib time.h
O 'man ctime' traz:
(...)
char *ctime(const time_t *clock);
(...)
DESCRIPTION
The ctime() function converts the time pointed to by clock,
representing the time in seconds since the Epoch (00:00:00
UTC, January 1, 1970), to local time in the form of a 26-
character string, as shown below. Time zone and daylight
savings corrections are made before string generation. The
fields are in constant width:
Essas manipulações envolviam a struct tm, e estava usando a timeb. Daí tentei algumas combinações malucas, mas sem sucesso.
Pouco depois de postar aqui, achei um link bacana:
http://www.programmingforums.org/post78846.html
Resumindo
ficou assim:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/timeb.h>
#include <sys/time.h>
char *legivel;
struct timeb tbi, tbf;
(void) ftime(&tbi);
(void) ftime(&tbf);
// ESSE É O MILAGRE
legivel=ctime(&tbi.time);
printf("%.19s.%hu %s", legivel, tbi.millitm, &legivel[20]);
que vai retornar:
Fri Apr 30 16:41:55.325 2010
Interessante, não?
Abraço.
.