Conversion de struct timeval en double.
Bonjour.
Je cherche à convertir une struct timeval en double.
J'ai bricolé quelquechose, qui semble fonctionner :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
double tvtod(struct timeval tv)
{
char*sec=malloc(sizeof(long double));
sprintf(sec,"%ld",tv.tv_sec);
char*usec=malloc(sizeof(long double));
sprintf(usec,"%ld",tv.tv_usec);
char*temps=malloc(2*sizeof(long double)+8);
strcat(temps,sec);
strcat(temps,".");
strcat(temps,usec);
double tps =strtod(temps,NULL);
free(sec);
free(usec);
free(temps);
return tps;
} |
Cette fonction semble bien fonctionner mais au bout de 7 appels elle crache en segfault ...
Si quelqu'un a une idée pour régler le soucis ou a une autre proposition je suis preneur.
Merci !