Verifier adresse ip (verifier si l'adresse ip est valable)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 20 779 fois - Téléchargée 32 fois

Contenu du snippet

Ce code permet de verifier si l'adresse ip enregistré dans un char est correct:
c'est a dire si il n'y a bien que des chiffres et des points, si elle a le bon format, et si les nombres sont bien inferieurs a 256

Attention j'integre directement le code de la fonction (pour le boulot)
A vois de le traduire pour votre utilisation.

Source / Exemple :


int verifip(char x[15]) {

// Initialisation des variables

        int i=0;
        int pts = 0;
        int tab[14];        {
                if (x[i] >= (char)48 && x[i] <= (char)57) { /* Verifie chiffres

  • /
j = x[i]-'0' ; ip[k] = (ip[k] * 10) + j; tab[i] = 1; tmp++; } else if (x[i] == (char)46) { /* Verifie "." */ k++; tab[i] = 2; tmp++; } i++; } while (i <= strlen(x)); tmp = 0; // Test si l'adresse est bien de la forme AAA.BBB.CCC.DDD if (tab[0] == 1) { tmp++; do { if (tab[i] == 2 && tab[i-1] == 1) { tmp++; } else if (tab[i] == 1 && tab[i-1] == 2) { cerr << "Erreur!! , une adresse IP est au format: AAA.BBB.CCC.DDD" << endl; resultat--; } resultat++; // Test si les nombres sont bien inferieurs a 256 if ((ip[0] < 256) && (ip[1] < 256) && (ip[2] < 256) && (ip[3] < 256)) { resultat++; } else { cerr << "Erreur!! , Les nombres de l'adresse IP doivent être inferieur à 256." << endl; resultat--; } if (resultat == 3) { return(1); } else { return(0); } } tmp++; } else if (tab[i] == 2 && tab[i-1] == 2) { tmp--; } i++; } while (i <= strlen(x)); } if (tmp != 7) { if (tmp != strlen(x)) { cerr << "Erreur!! , il n'y a que des chiffres et des points dans une adresse IP." << endl; resultat--; } resultat++; i=1; int ip[3]; int j=1; int tmp=0; int resultat = 0; for (int a=0;a <=14;a++) { tab[a] = 0; } for (int a=0;a<=3;a++) { ip[a] = 0; } int k = 0; // Test si l'adresse IP entré contient bien que des chiffres et des "." do

Conclusion :


Je me rappele plus commebnt on déclare un booleen, donc la fonction donne un resultat entier avec 2 valeurs.
A réviser!!

A voir également

Ajouter un commentaire

Commentaires

BruNews
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
13 -
Bravo pour le mal que tu t'es donne mais tu pouvais aller plus simple.
Teste 3 fois (atoi < 256 && suivi d'un '.'), ensuite (atoi < 256 && suivi d'un '0'. Basta tu as fini, d'ou on en deduit que un simple char *c est suffisant pour faire le boulot et rien a enregistrer en temporaire.
spartums
Messages postés
2
Date d'inscription
jeudi 13 novembre 2008
Statut
Membre
Dernière intervention
13 novembre 2008
-
qui pourrai me dire comment on se cree une adresse ip pour me connecter a ma psp pour que j accede a mon jeu que j ai telecharge svp urgent

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.