Sur ce coup là, je suis d'accord avec Godbout. Un memset, ça fait pas de mal !:D
Cool [:fifiz]
El_gringo
Sur ce coup là, je suis d'accord avec Godbout. Un memset, ça fait pas de mal !:D
Sans le memset, sprintf mettra un '\0' à la fin de la chaine, mais après ça, sur le reste de l'espace réservé, y peut y avoir n'importe quoi. logiquement, c pas gênant, mais c pas beau ! :D
[edtdd]--Message édité par El_Gringo--[/edtdd]
godbout
le sprintf initialise tout seul ?
enfin bon je prefere tout initialiser, au moins je suis sur qu'il n'y a pas n'importe koi dans les variables.
chrisbk
Godbout a écrit a écrit :
de rien ;)
pour une fois que j'peux repondre :D
(le memset etait inutile la ;) )
godbout
de rien ;)
pour une fois que j'peux repondre :D
exo_
Merci beaucoup, ça fonctionne comme sur des roulettes !
godbout
Le pb c'est que tu declares un pointeur vers une variable de type char.
A aucun moment tu alloues la place pour ecrire dans deltatimedivstring, donc forcement ca doit ecrire a des endroits auquel tu n'as pas acces.
le memset rempli initialise tout le char avec des '\0'
Typiquement une erreur pourrie de C où l'on passe des heures à chercher comme un con alors que en fait l'erreur elle est ENORME mais bon... Donc voilà sur le bout de code suivant, segmentation fault. Mais pourquoi ? Si quelqu'un a une idée bah merci beaucoup. Les autres idées sachant que le but est de convertir un int en char * sont aussi les bienvenues :)
int deltaTimeDiv = 96000;
char * deltatimedivstring;
sprintf(deltatimedivstring,"%d",deltaTimeDiv);