Probleme avec GETS

Sload Messages postés 23 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 21 juillet 2005 - 2 juin 2005 à 21:13
Sload Messages postés 23 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 21 juillet 2005 - 3 juin 2005 à 12:56
Bonjour à tous !

J'ai un petit probleme avec ce bout de programme.

L'objet MaConnexion est en fait une classe qui utilise Winsock.

Le probleme c'est que je souhaiterais que l'utilisateur tappe un
message ( pas juste un mot mais une phrase par ex. ) qui ensuite est
envoyée.

Or lorsque le programme s'execute il n'attends pas la saisie de
l'utiilisateur ( avec gets ) et continue directement l'éxecution des
lignes suivantes ...

Avez vous une idée d'ou cela peut venir.

PS : Le programme compile bien et tout le reste marche.






cout << "Entrez le message que vous souhaitez
envoyer (255 Caracteres Maximum): \n";


cout << "Envoi du message en cours ..." << endl;


MaConnexion.Envoyer("SEND_MSGBOX");


texte = MaConnexion.Recevoir();


if(strcmp(texte,"WAIT_MSGBOX"))

{


char msgtexte[255];


memset(msgtexte,0,255);

gets(msgtexte);


MaConnexion.Envoyer(msgtexte);

}


cout << "Message recu !" << endl;


Merci d'avance pour votre aide

Antoine PACAUD

http:\\www.sloadnet.com

4 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
2 juin 2005 à 21:40
Tout d'abord tu devrais t'assuer que le gets est effectivement exécuté: ne voulais tu pas plutot écrire if(!strcmp(texte, "WAIT_MSGBOX")) ...?
0
Sload Messages postés 23 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 21 juillet 2005
3 juin 2005 à 00:38
Non non je suis sur que la ligne est executée , j'ai vérifié avec de
l'affichage dans la boucle et ca marche trés bien .... Mais le
programme ne s'arrete pas ...
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
3 juin 2005 à 09:51
je pense que mélanger cout et gets peut poser problème, utilise soit printf et gets ou cout et cin.
0
Sload Messages postés 23 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 21 juillet 2005
3 juin 2005 à 12:56
En essayant de remplacer gets(msgtexte) par cin.getline(msgtexte) ca ne marche tjs pas .... Pourtant ca compile tres bien ....
Je ne comprends vraiment pas ....
0
Rejoignez-nous