Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

CIPアドレスを検証するプログラム


このプログラムでは、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\n"): printf("Not valid\n");
   validate_ip(ip2)? printf("Valid\n"): printf("Not valid\n");
   validate_ip(ip3)? printf("Valid\n"): printf("Not valid\n");
   validate_ip(ip4)? printf("Valid\n"): printf("Not valid\n");
}

出力

Valid
Valid
Not valid
Not valid

  1. クライアントのIPアドレスを取得するJavaScriptプログラム

    以下は、クライアントのIPアドレスを取得するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>   &

  2. ポインタの例を示すCプログラムを作成する

    ポインタは、別の変数のアドレスを格納する変数です。 ポインタの機能 ポインタはメモリスペースを節約します。 メモリ位置に直接アクセスできるため、ポインタの実行時間が短縮されます。 ポインタを使用すると、メモリに効率的にアクセスできます。つまり、メモリは動的に割り当てられ、割り当てが解除されます。 ポインタはデータ構造で使用されます。 ポインタの宣言 int *p; これは、「p」が別の整数変数のアドレスを保持するポインタ変数であることを意味します。 ポインタの初期化 アドレス演算子(&)は、ポインタ変数を初期化するために使用されます。 たとえば、 int qt