julienbornet
Messages postés99Date d'inscriptionjeudi 9 février 2006StatutMembreDernière intervention 2 février 2009
-
13 avril 2006 à 16:07
julienbornet
Messages postés99Date d'inscriptionjeudi 9 février 2006StatutMembreDernière intervention 2 février 2009
-
13 avril 2006 à 18:07
Bonjour alors voial j'ai un petit probleme dont je n'arrive pas a trouver la cause. Bon comme c'est assez complexe a expliquer je vais essayer d'etre le plus precis possible mais je m'excuse si ce message risque d'etre un peu long.
Alors voila. Depuis plusieur jour je travail sur un programme test qui va me premettre de trace un graphique dans une fenetre. Bon en fait ce programme test en assez simple lorsque l'on execute une boite de dialogue (type dialoq box) s'ouvre et la on peut cliquer sur un bouton. Lorsque l'on click sur ce bouton, une fenetre (de type window) s'ouvre a son tour et je trace mes graphique dans cette fenetre. Bien sur pour tracer ces graphiques j'utilise les API.
Pour tracer ces graphiques, je lit un fichier texte (.txt) qui contient les ordonnees des points. Ces donnees sont disposees en colone avec un tab entre chaque colone. Malheureusement n'etant pas un pro de la programmation j'utilise une vieille fonction, fscanf ,pour pour lire mon fichier et c'est la que se trouve le probleme. En effet la deuxieme colonne de mon fichier contient des nombre flottant de type float. Lorsque ma fonction arrive sur ce nombre une erreur d'execution apparait (R6002). Mais le plus etrange c'est que si j'utilise cette meme fonction dans un programme console cette erreur est alors inexistante et tout se deroule normalement. Bon pour finir, j'ai triuver une solution temporaire ou je remplace le type float par une chaine de caractere et je ne trace pas le graph de cette donnee.
Bon voila j'espere que quelqu'un aura compris mon probleme et pourra me renseigner car la j'avoue que je ne comprend variment le probleme.
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 13 avril 2006 à 16:21
je crois que si fscanf est utilisée pour parser des floats alors qu'aucun instruction sur les float n'a été faite avant, il y a une erreur parce que la lib flaot ou module ou je sais plus quoi a pas été chargé.
il me semble qu'en faisant une opération dummy sur un flotant au début du prog solvait le truc.
genre une affectation d'une var global
float dummy = 1.2f;
J'avoue c'est un peu tiré par les cheveux mon explication mais j'ai souvenir d'être tombé dessus une fois...
julienbornet
Messages postés99Date d'inscriptionjeudi 9 février 2006StatutMembreDernière intervention 2 février 2009 13 avril 2006 à 16:39
Merci pour ton explication c'est vraie que j'ai pas tres bien saisie la cause mais toujours est il que j'ai suivit ton conseil et ca fonctionne. Mais ce qui est tres etrange dans toute cette histoire c'est qu'apres avoir compile avec cette affectation qui ne sert a rien et bien je me suis dit on va verifier si ca vient bien de ca et la stuppeur je met // deavnt mon affaectattion et tout fonctionne quand meme. Peut etre que mon PC est habite par des esprit malefique et que cet affectation les a fait fuire lol.
Non mais bon il faut dire que des fois ca me sort des erreurs qui soit non rien a voir avce la vrai cause soit qui sont comme pour celle-ci inexplicable.
En tout cas encore merci car ca ma permis d'avancer.