Votre question

[résolu] [Visual C++] Exception non gérée

Tags :
  • Programme
  • Programmation
Dernière réponse : dans Programmation
14 Juin 2006 13:45:42

Bonjour,

J'ai un problème à l'exécution de mon fichier...



si quelqu'un y trouve une erreur... je suppose que ça vient d'un tableau mais je ne vois pas où... :-?

Autres pages sur : resolu visual exception geree

14 Juin 2006 15:39:28

J'ai bien regardé le code, et fait quelques tests.
Donc si je mets la ligne
tab2[n] = string2;
de la fonction
int decoupage2(tclient tab, tclient tab2, int i)
en commentaire je n'ai plus l'erreur... par contre mon programme ne sert plus à rien... :pfff: 

Si vous voyez une erreur sur cette ligne ou sur une autre, n'hésitez pas!! Faites moi signe!!
a b L Programmation
14 Juin 2006 19:13:02

cette erreur est généralement du à une tentative d'écriture en dehors d'un tableau ou avec un pointeur invalide (non initialisé ou mémoire pointée effacée).

J'ai rapidement regardé: ta boucle doit certainement partir à l'infini:
Citation :
int n = 0;
std::string string1 = tab;
std::string string2;

while(string1.length()>0)
{
string2 = string1.substr(0, string1.find('/'));
string1 = string1.substr(string1.find('/')+1);
tab2[n] = string2;
n++;
//std::cout<<string2;

}
return(n);

je rappelle que si le find ne trouve, ça retourne -1.
Donc là quand t'as lu tous les '/', string1 reste inchangé, et n sort du tableau.
Contenus similaires
14 Juin 2006 21:47:51

ok je testerai ça demain. Je pensai bien que ça venait d'un tableau mais je ne voyais pas où.
Donc il faudrait modifier la condition du while?
15 Juin 2006 10:02:27

Merci de m'avoir orienté sur la boucle... j'ai fais en sorte que ma ligne se termine par un '/' et tout va bien!! :-D
a b L Programmation
15 Juin 2006 13:12:58

sinon avant le changement de string1, tu testes si string1.find('/') < 0, et tu mets string1 = "", comme ça ta boucle s'arrêtera dans tous les cas.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS