Maison > développement back-end > C++ > le corps du texte

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

WBOY
Libérer: 2023-09-04 21:13:10
avant
1384 Les gens l'ont consulté

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>");
}
Copier après la connexion

sortie

Valid
Valid
Not valid
Not valid
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal