je viens de trouver le bug dans mon programme !!!!! :ccool:
trop bien :mouarf:
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 yCode:
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 8O
=> du coup je rentre dans le if avec BBB qui est vide :aie: du coup mes calculs cherchent des valeurs qui se trouve dans BBB mais en fait BBB est vide :roll: (donc problème de segmentation)
maintenant voici ce que j'ai fais pour arranger la chose :
et ça marche bien :ccool: car je vérifie que le vecteur n'est pas vide avant de rentrer dans la boucleCode:
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 8-)