IPアドレスコードを検証するCプログラム

WBOY
リリース: 2023-09-04 21:13:10
転載
1391 人が閲覧しました

IPアドレスコードを検証するCプログラム

このプログラムでは、C 言語を使用して IP アドレスを確認する方法を説明します。 IPv4 アドレスはドット付き 10 進表記で表されます。 10 進数は 4 つあります (すべて 0 ~ 255)。 4 つの数字は 3 つのドットで区切られています。

有効な IP の例は次のとおりです: 192.168.4.1

IP アドレスを確認するには、次の手順に従う必要があります:

  • ドットを使用します。文字列 (IP アドレス) をトークン化するための区切り文字として ”

  • #部分文字列に数字以外の文字が含まれている場合は false を返します

  • ##各タグは 0 ~ 255 の範囲にない場合、false を返します。
  • ドットが 3 つと部分が 4 つある場合、それは有効な IP アドレスです
  • サンプルコード
#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>");
}
ログイン後にコピー

出力

Valid
Valid
Not valid
Not valid
ログイン後にコピー

以上がIPアドレスコードを検証するCプログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート