je viens de trouver le bug dans mon programme !!!!!
trop bien
voici le bout de programme qui plantait :
1°) en fait je lit les ligne d'un fichier texte et je stocke tous les mots qu'il y
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 while (!text.eof()) { getline(text,aaa); BBB.clear(); partionner(aaa,BBB); if ( BBB[0]=="!") { a=BBB.size()-1; if (a>4) {//je fais des calculs} } }
a dans un ligne dans la variable "BBB" (à l'aide de la fonction "partitionner")
2°) si le premier mot est "!" alors je rentre dans une boucle et je fais des calculs ensuite.
=> le soucis :
parfois il semble que dans ma variable BBB il subsiste l'information "!" alors que le vecteur BBB est vide
=> du coup je rentre dans le if avec BBB qui est vide du coup mes calculs cherchent des valeurs qui se trouve dans BBB mais en fait BBB est vide (donc problème de segmentation)
maintenant voici ce que j'ai fais pour arranger la chose :
et ça marche bien car je vérifie que le vecteur n'est pas vide avant de rentrer dans la boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 while (!text.eof()) { getline(text,aaa); BBB.clear(); partionner(aaa,BBB); if (BBB.size()!=0 && BBB[0]=="!") { a=BBB.size()-1; if (a>4) {//je fais des calculs} } }
ps: peut etre que ce n'est pas suffisant donc si vous avez une sécurité supplémentaire à me conseiller je suis preneur
Partager