cs_JCpp
Messages postés334Date d'inscriptionsamedi 12 janvier 2002StatutMembreDernière intervention 3 juillet 2010
-
30 oct. 2003 à 20:07
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 2012
-
30 oct. 2003 à 21:34
J’ai besoin de récupérer les 4 valeurs du IP entre chaque point en Int, pour pouvoir ensuite les incrémenter.
On ma proposer une solution qui n’est pas terrible a mon goût.
http://www.cppfrance.com/code.aspx?ID=17385 Donc, j’ai cherché une autre solution plus simple.
J’ai un problème de conversion avec atoi, ci vous pouvez m’aider sa serai sympa.
(Encore une chose, grâce au Forum, j’ai appris beaucoup de chose en programmation, peut être même que les sources.)
Je reviens à mes moutons bééé.
string s1("007.007.007.007"); //IP
int pts=1;
char IPnbr[4];
// ici je cherche le point et je le mémorise
for (int i=0; i<14; i++)
{
if(s1.substr(i,1)==".") {IPnbr[pts]=i; pts++;}
}
// bug a cause de atoi
int Ip1 = atoi( s1.substr(0,IPnbr[1]-1) );
int Ip2 = atoi( s1.substr(IPnbr[i]+1,IPnbr[1]-1) );
int Ip3 = atoi( s1.substr(IPnbr[i]+1,IPnbr[1]-1) );
int Ip4 = atoi( s1.substr(IPnbr[i]+1,IPnbr[1]-1) );
Ci vous avez une solution encore plus simple, je suis preneur.
Je suis quand même étonner de ne pas voir cette partie de code qui peut être utile pour le IP.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 30 oct. 2003 à 21:34
Salut,
while(*c++ != '.' && *c);
Avance le pointeur ' c ' jusqu'au caractere qui suis le ' . '.
Si ' c ' pointe sur un caractere 0 (le 0 final de la chaine), on quitte la boucle (car apres le 4eme numéro d'une chaine IP il n'y a pas de point mais le zero final) ca evite de faire avancer le pointeur en dehors de la chaine.