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

  FORUM HardWare.fr
  Programmation

  [C] Problème à deux francs avec sprintf

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Problème à deux francs avec sprintf

n°80334
exo_
Posté le 10-12-2001 à 20:06:44  profilanswer
 

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);

mood
Publicité
Posté le 10-12-2001 à 20:06:44  profilanswer
 

n°80338
godbout
Génial.
Posté le 10-12-2001 à 20:09:54  profilanswer
 

char deltatimedivstring[255];
memset(deltatimedivstring, 0, 255);

n°80340
godbout
Génial.
Posté le 10-12-2001 à 20:11:14  profilanswer
 

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'

n°80367
exo_
Posté le 10-12-2001 à 21:01:41  profilanswer
 

Merci beaucoup, ça fonctionne comme sur des roulettes !

n°80385
godbout
Génial.
Posté le 10-12-2001 à 21:33:35  profilanswer
 

de rien ;)
 
pour une fois que j'peux repondre :D

n°80472
chrisbk
-
Posté le 11-12-2001 à 10:15:30  profilanswer
 

Godbout a écrit a écrit :

de rien ;)
 
pour une fois que j'peux repondre :D  




 
(le memset etait inutile la ;) )

n°80478
godbout
Génial.
Posté le 11-12-2001 à 10:32:03  profilanswer
 

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.


---------------
Super.
n°80479
El_gringo
Posté le 11-12-2001 à 10:41:10  profilanswer
 

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]

n°80480
godbout
Génial.
Posté le 11-12-2001 à 10:42:37  profilanswer
 

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]

n°80481
Oreste
Posté le 11-12-2001 à 10:52:26  profilanswer
 

Il est bon ce Godbout :D

mood
Publicité
Posté le 11-12-2001 à 10:52:26  profilanswer
 

n°80482
godbout
Génial.
Posté le 11-12-2001 à 10:55:29  profilanswer
 

hehe :sol:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C] Problème à deux francs avec sprintf

 

Sujets relatifs
Probleme de Logique Mathemathiques Y a des Matheux ici ?Phorum 3.3 -> Problème Search
Problème avec phpmynews...[javascript] probleme avec un cc dans un mailto
[mysql++/VC++6.0/MFC] probleme de linkage !!! urgent !!!Probleme addslashes, stripslashes ?
[PHP ]probleme avec les cookies[PHP MySQL] Problème de suppression d'entrée dans une table...
HTML big probleme[FORMULAIRE] Gros problème...
Plus de sujets relatifs à : [C] Problème à deux francs avec sprintf


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