begin process at 2012 05 30 22:43:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

Verifier la validité d'une Adresse IP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Verifier la validité d'une Adresse IP

vendredi 12 mars 2004 à 09:04:14 | Verifier la validité d'une Adresse IP

Zerocool552

bonjour

j'ai cette methode dans mon programme et j'aimerais verifier la validité des adresse IP saisies argAdresseIP1 et argAdresseIP2 avant de les ranger dans AdresseIP1 et AdresseIP2 (la verification de chaque octet de l'adresse pour savoir si il ne depasse pas 255 ou si il est inferieur a 0).

AdresseIP1 et AdresseIP2 sont des string.

bool GestionTrame::ConfigurerCapture(int argNbTrames,string argAdresseIP1,string argAdresseIP2)
{
NbTrames = argNbTrames;
//verif IP
AdresseIP1 = argAdresseIP1;
AdresseIP2 = argAdresseIP2;
return true;
}

merci d'avance pour vos reponses
@+
Zerocool552
vendredi 12 mars 2004 à 09:44:47 | Re : Verifier la validité d'une Adresse IP

hilairenicolas


Je ferais un truc vite fait comme ca, mais y a ptete une api qui le fait deja (je connais pas), on alors, vérifier par un ping si tu es connecté ...
a toi de voir


bool validIp(char * ip)
{
char temp[10];
char *c=ip;
char *d;
while (*c!=0)
{
d=temp;
while (*c!='.' && *c!=0)
{
*d=*c;
c++;
d++;
}
c++;
*d=0;
if (atoi(temp)>255 || atoi(temp)<0)
return false;
}
return true;
}

vendredi 12 mars 2004 à 09:52:11 | Re : Verifier la validité d'une Adresse IP

hilairenicolas

euh ...
je viens d'y réfléchir 2 secs, il faudrait rajouter une condition avant d'incrementer le pointeur c

faire genre :


if (*c!=0)
c++;


comme ca, ca évite de se retrouver par mégarde en dehors de la chaine
vendredi 12 mars 2004 à 10:31:04 | Re : Verifier la validité d'une Adresse IP

vecchio56

Administrateur CodeS-SourceS
bah non puisuqe si tu est dans le while c'est bien que tu as déja *c != 0
Par allieurs while (*c!='.' && *c!=0) s'écrirait plutot while (*c!='.' && *c)
vendredi 12 mars 2004 à 11:02:13 | Re : Verifier la validité d'une Adresse IP

hilairenicolas


ouais, mais je parlais du c++; qui est juste avant le *d=0;
imaginons que tu sortes du premier while sur la condition que *c==0, alors, juste apres, tu fais un c++, donc pas bien ... :)

l'algo est peut-etre à revoir
vendredi 12 mars 2004 à 11:14:18 | Re : Verifier la validité d'une Adresse IP

vecchio56

Administrateur CodeS-SourceS
ah oui je pensais que c'était l'autre c++
vendredi 12 mars 2004 à 11:18:28 | Re : Verifier la validité d'une Adresse IP

vecchio56

Administrateur CodeS-SourceS
il faudriat aussi vérifier que les caractères sont des chiffres car il me semble que atoi("a") renvoie 0 et donc sera considéré comme un IP valide
vendredi 12 mars 2004 à 11:35:43 | Re : Verifier la validité d'une Adresse IP

hilairenicolas


Absolument ;
et tant qu'on y est, faudrait vérifier si c'est bien un format IPV4


bool validIp(char * ip)
{
char temp[10];
char *c=ip;
char *d;
int i=0;
while (*c!=0)
{
d=temp;
while (*c!='.' && *c)
{
if (*c<'0' || *c>'9')
return false;
*d=*c;
c++;
d++;
}
if (*c)
c++;
*d=0;
if (atoi(temp)>255 || atoi(temp)<0)
return false;
i++;
}
return (i==4);
}



char ip1[30] = "192.168.0.2";
char ip2[30] = "192.168.300.2";
char ip3[30] = "192.1a0.0.0";
char ip4[30] = "192.168.0.0.0";

validIp(ip1); // renvoie true
validIp(ip2); // renvoie false
validIp(ip3); // renvoie false
validIp(ip4); // renvoie false



Cette discussion est classée dans : validité, ip, adresse, verifier, argadresseip1


Répondre à ce message

Sujets en rapport avec ce message

Récupérer une adresse IP. ( à partir de 2 cartes réseaux. ) [ par pcayrol ] Ma config : un PC avec deux cartes réseaux. Chaque carte a son adresse IP.Avec la fonction gethostbyname je recupere un pointeur HOSTENT qui pointe su afficher l'adresse ip [ par laigle76 ] Salut,je voudrai savoir comment faire pour afficher l'adresse ip du pc d'ou est lancé l'appli.J'utilise Vc++ 6.0 et dev c++Merci d'avance adresse IP [ par IronLeader ] comment je peux lire l'adresse ip du pc sur lequel l'executable est lance en c++un peu comme winipcfg en fait Merci d'avance help!!!! Saisir adresse ip en C [ par yeager ] bonjourj'ai un petit problème pour saisir les informations sur mon adresse ip.J'ai un petit code tout simple qui devrait marcher....mais comme par has Récupération d'adresse IP dans un programme [ par Jerems59 ] BonjourJe souhaiterai récupérer mon adresse IP lorsque je me connecte sur internet (connexion 56k) Je voudrai utilisé ensuite cette adresse IP dans un Modifier mon adresse IP [ par sephiro ] Je recherche les API pour modifier l'adresse IP de mon PC, je me déplace dans de nombreux sites ayant des plages IP différentes, j'aimerai donc par pr convertion d'ip [ par zebrahead ] j'aimerai savoir comment convertir, une adresse ip de la base 10 a la base 2, parceque faire la convertion d'un chiffre "normal" ca passe mais je n'ar URGENT !! verification adresse ip !!!! [ par ben01n ] Salut à tousje suis débutant en c et je suis en train de programmer un serveur sous linuxvoila mon problème : mon prog prend une adresse ip comme argu Adresse IP [ par lamotiniere ] TimBonjour, j'aimerais savoir comment choper des adresses IP par courier électronic.Voila c'est tout, merci de me repondre vite... Masque de saisie sous C++ Buider 6 [ par ivdz ] Bonjour,Comment générer le masque de saisie d'une adresse IP. J'ai créé un TMaskEdit *TMEpuis j'ai fait TME->EditMask="000.000.000.000"Cela marche pou


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,172 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales