#i"/> #i">

Maison  >  Article  >  développement back-end  >  Programme C pour vérifier le code d'adresse IP

Programme C pour vérifier le code d'adresse IP

WBOY
WBOYavant
2023-09-04 21:13:101381parcourir

Programme C pour vérifier le code dadresse IP

Dans cette application, nous verrons comment vérifier l'adresse IP en utilisant le langage C. Les adresses IPv4 sont exprimées en notation décimale à points. Il existe quatre nombres décimaux (tous compris entre 0 et 255). Les quatre nombres sont séparés par trois points.

Un exemple d'adresse IP valide est : 192.168.4.1

Pour vérifier l'adresse IP, nous devons suivre ces étapes :

  • Tokenize la chaîne (adresse IP) en utilisant le point "." comme délimiteur

  • Renvoie faux si le la sous-chaîne contient des caractères non numériques

  • Renvoie faux si le nombre dans chaque jeton n'est pas compris entre 0 et 255

  • S'il y a trois points et quatre parties, alors c'est une adresse IP valide

Exemple de code

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
int validate_number(char *str) {
   while (*str) {
      if(!isdigit(*str)){ //if the character is not a number, return
         false
         return 0;
      }
      str++; //point to next character
   }
   return 1;
}
int validate_ip(char *ip) { //check whether the IP is valid or not
   int i, num, dots = 0;
   char *ptr;
   if (ip == NULL)
      return 0;
      ptr = strtok(ip, "."); //cut the string using dor delimiter
      if (ptr == NULL)
         return 0;
   while (ptr) {
      if (!validate_number(ptr)) //check whether the sub string is
         holding only number or not
         return 0;
         num = atoi(ptr); //convert substring to number
         if (num >= 0 && num <= 255) {
            ptr = strtok(NULL, "."); //cut the next part of the string
            if (ptr != NULL)
               dots++; //increase the dot count
         } else
            return 0;
    }
    if (dots != 3) //if the number of dots are not 3, return false
       return 0;
      return 1;
}
int main() {
   char ip1[] = "192.168.4.1";
   char ip2[] = "172.16.253.1";
   char ip3[] = "192.800.100.1";
   char ip4[] = "125.512.100.abc";
   validate_ip(ip1)? printf("Valid</p><p>"): printf("Not valid</p><p>");
   validate_ip(ip2)? printf("Valid</p><p>"): printf("Not valid</p><p>");
   validate_ip(ip3)? printf("Valid</p><p>"): printf("Not valid</p><p>");
   validate_ip(ip4)? printf("Valid</p><p>"): printf("Not valid</p><p>");
}

sortie

Valid
Valid
Not valid
Not valid

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer