Entier->string

blueburry Messages postés 50 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 22 mai 2006 - 25 juil. 2005 à 11:14
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009 - 26 juil. 2005 à 21:42
Bonjour, je suis en train de creer une fonction qui permet de verifier si la commande tapee sur telnet est bonne ou pas.
Si elle est juste, un code de 3 chiffres est envoye sinon, le code 550 est envoye.

Voici ma fonction:

bool SessionSMTP::verifierComm(SOCKET s, char buffer[1024], char nom_commande[1024], int nbChar, int code)
{


if ((memcmp (&buffer[0], &nom_commande[0], nbChar))==0)
{send(s, code + "ok\r\n", 8, 0);
return true;}
else {send(s, "550 failure\r\n", 16, 0);
return false;
}


}
le probleme est ke je ne sais pas kelle fonction utilisee pour transformer l'entier code en un string car la fonction send admet comme 2e parametre un string.
vs pouvez egalement me dire kelle librairie inclure pr pouvoir utiliser cette fonction.

merci a ts!!

9 réponses

BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 103
25 juil. 2005 à 11:23
itoa(nbr, buff, 10);

Buno
----------------------------------------
L'urgent est fait, l'impossible est en train de se faire. Pour les miracles, prévoir un délai...
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
25 juil. 2005 à 11:33
Ca sent le serveur xTP à plein nez (je me trompe?).

En effet, itoa() est tres 'compact' à l'utilisation. Sinon de manière générale en C++, tu peux utiliser la lib <sstream> qui contient la classe std::ostringstream.

ostringstream os;
os << nbr << "ok\r\n" << ....;
send(s, os.str().c_str(), os.str().size()....)

PS: Plus élégant encore "L'urgent est resolu. L'impossible est en cours. Pour le miracle, envisagez un certain délais!".

Cordialement,
Xterminhate.
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 12
25 juil. 2005 à 17:01
Le "prévoir un délai" me semble plus élégant...
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
25 juil. 2005 à 18:13
A chacun ses préférences, je n'impose rien ;-)

Cordialement,
Xterminhate.
0

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

Posez votre question
BunoCS Messages postés 15330 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 novembre 2022 103
25 juil. 2005 à 18:15
Merci de vos propositions concernant ma signature

Buno
----------------------------------------
L'urgent est fait, l'impossible est en train de se faire. Pour les miracles, prévoir un délai...
0
oulali Messages postés 19 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 29 novembre 2005
26 juil. 2005 à 15:23
D'habitude j'utilise "sprintf". Il n'y a pas plus facile et elle permet de transformer tout les type en string. Il faut juste faire attention à la taille du buffer.

sprintf(buffer, "%d", n);
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
26 juil. 2005 à 16:45
A noter que ostringstream remplace avantageusement sprintf en C++ (pas de débordement de buffer et Cie).

Cordialement,
Xterminhate.
0
cs_HySteriK Messages postés 74 Date d'inscription mercredi 16 mars 2005 Statut Membre Dernière intervention 17 décembre 2005 1
26 juil. 2005 à 20:58
ca parle de string ? dsl hors sujet
0
xterminhate Messages postés 371 Date d'inscription dimanche 4 janvier 2004 Statut Membre Dernière intervention 23 septembre 2009
26 juil. 2005 à 21:42
Blueburry aime pas les strings visiblement ! Il a tort, c'est sur :-)

Cordialement,
Xterminhate.
0