ignorance de getline();

ignorance de getline(); - C++ - Programmation

Marsh Posté le 19-01-2006 à 22:50:37    

bonjour tout le monde
 
fichier source : (compile)
 
en gros je ne peux même pas taper quoique ce soit, le programme ignore mon getline();  et se termine donc directement
 

Code :
  1. blastmanu@debian:~/c++/article$ ./artc
  2. Rechercher tous les mots-clefs ou un seul : tous
  3. Vos mot-clefs termines par un point :
  4. il y a 0mots
  5. blastmanu@debian:~/c++/article$


Message édité par blastman le 21-01-2006 à 00:50:29

---------------
http://www.blastmanu.info
Reply

Marsh Posté le 19-01-2006 à 22:50:37   

Reply

Marsh Posté le 20-01-2006 à 00:33:12    

sans commenter ton oeuvre, ya déjà un '\n' qui traîne et que ton getline(cin,motsClefs); se mange

Reply

Marsh Posté le 20-01-2006 à 10:35:32    

push a écrit :

ya déjà un '\n' qui traîne et que ton getline(cin,motsClefs); se mange


Ensuite motclef[i] sans test sur la longeur de motclef ca fait core dump ...

Reply

Marsh Posté le 20-01-2006 à 19:02:40    

$ ulimit -c unlimited
$ g++ -g -o art -Wall art.cc
$ ./art
$ gdb art <nom_du_core>
bt

Reply

Marsh Posté le 20-01-2006 à 19:07:54    

j'obtiens rien de plus ça me met aucune erreur :/


---------------
http://www.blastmanu.info
Reply

Marsh Posté le 20-01-2006 à 19:18:13    

t'as pas un core dump ?
Sinon, gdb ./art, et tu vas bien voir où ça foire.
 

Reply

Marsh Posté le 20-01-2006 à 19:30:26    

Pour l'erreur de segmentation c'était bien i qui avait pour valeur 2745, j'ai donc ajoutait un test sur i dans mes while ce qui a résolu mon erreur de segmentation mais qui me fais maintenant une autre erreur beaucoup plus complexe à résoudre et là même gdb me dit rien pas de core dump ni rien du tout juste un "Program exited normally." :/


Message édité par blastman le 20-01-2006 à 19:44:24

---------------
http://www.blastmanu.info
Reply

Marsh Posté le 20-01-2006 à 20:11:57    

sur plus de 110 personnes qui ont vu ce topic seuleument 3 on répondu o_O je suis dans la merde, y a pas un petit Taz qui traine :lol:


---------------
http://www.blastmanu.info
Reply

Marsh Posté le 20-01-2006 à 20:19:51    

jtai déjà dit qu'elle était le problème... si tu veux juste que "ça marche", remplace ton cin >> choix; par getline(cin, choix);

Reply

Marsh Posté le 20-01-2006 à 20:25:21    

ah ben oui désolé  
 
merci ;)


---------------
http://www.blastmanu.info
Reply

Marsh Posté le 20-01-2006 à 20:25:21   

Reply

Marsh Posté le 20-01-2006 à 20:59:12    

cin >> integer;
 
bah toi tu tappes "42\n" ... que je sache, ton integer il vaut 42 après, l'\n est toujours à lire.

Reply

Marsh Posté le 20-01-2006 à 21:32:02    

ah ok


---------------
http://www.blastmanu.info
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed