Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2705 connectés 

 


Dernière réponse
Sujet : [C] Problème à deux francs avec sprintf
godbout hehe :sol:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
godbout hehe :sol:
Oreste Il est bon ce Godbout :D
godbout

El_Gringo a écrit a écrit :

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'
godbout char deltatimedivstring[255];
memset(deltatimedivstring, 0, 255);
exo_ 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);

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)