Socket et fonction send

Résolu
blueburry Messages postés 50 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 22 mai 2006 - 8 août 2005 à 11:45
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 - 8 août 2005 à 14:41
Bonjour, je suis en train de manipuler des sockets et g besoin d'envoyer une chaine de caracteres stockee ds une variable de type string a partir de la fonction send().
Comment je fais ( ca ne marche pas si je mets):
string s1 = "bonjour";
send(s, s1, 16, 0);

je ne veux pas mettre directement bonjour ds send car s1 risque de changer.

merci!!!

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 août 2005 à 13:01
s1.c_str()

ciao...
BruNews, MVP VC++
3
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
8 août 2005 à 12:55
A quoi correspond s ? As-tu 'créé' ton socket etc... ? Si tu debutes, http://betouchi.free.fr/doc_et_ebook/prog_reseau/network2.chm

+2(p - n)
0
blueburry Messages postés 50 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 22 mai 2006
8 août 2005 à 13:16
merci BruNews pr ta reponse!!!
0
blueburry Messages postés 50 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 22 mai 2006
8 août 2005 à 14:10
une question encore, si je veux ecrire une phrase avant s1 et l'envoyer dans le socket genre:
send(socket, "le string est:"s1.c_str(), 16, 0);

comment je dois faire??
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
8 août 2005 à 14:25
salut,

fais ca :

string phrase = "le string est:" + s1;

send(socket, phrase.c_str(), phrase.size(), 0);



a+
0
blueburry Messages postés 50 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 22 mai 2006
8 août 2005 à 14:35
ca ne marche pas, voici ce k'il m'affiche comme erreur
C:\Program Files\Microsoft Visual Studio\MyProjects\comb3\sessionSMTP.cpp(522) : error C2784: 'class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> __cdecl std::operator +(_D,const class std::reverse_iterator<_RI,_Ty,_Rt,_Pt,_D> &)' : could not deduce te
mplate argument for '' from 'char [15]'

C:\Program Files\Microsoft Visual Studio\MyProjects\comb3\sessionSMTP.cpp(522) : error C2677: binary '+' : no global operator defined which takes type 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' (or ther
e is no acceptable conversion)
0
cosmobob Messages postés 700 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 27 janvier 2009 4
8 août 2005 à 14:41
chez moi ces deux lignes compilent sans problème :

string s1 = "bonjour";

string phrase = "le string est: " + s1;



si toi ca marche pas, essaie ca:

string s1 = "bonjour";

string phrase;

phrase = (string) "le string est: " + s1;





a+
0
Rejoignez-nous