C++でIPアドレスを検証する
この記事は、C ++コードプログラミングによって正しいIP(インターネットプロトコル)アドレスを検証することを目的としています。 IPアドレスは32ビットのドット10進表記で、0から255までの4つの10進数セグメントに分割されます。さらに、これらの数値はドットで連続して区切られます。 IPアドレスは、ネットワーク内のホストマシンを一意の方法で識別して、それらの間の接続を確立するという目的を果たします。
したがって、ユーザー側からの正しいIPアドレス入力を検証するために、次のアルゴリズムは、次のように正しいIPアドレスを識別するためにコードシーケンスがどのように正確に具体化されるかを簡単に説明します。
アルゴリズム
START Step-1: Input the IP address Step-2: Spilt the IP into four segments and store in an array Step-3: Check whether it numeric or not using Step-4: Traverse the array list using foreach loop Step-5: Check its range (below 256) and data format Step-6: Call the validate method in the Main() END
そのため、アルゴリズムに従って、IPアドレスを検証するために、次のc ++が作成されました。ここでは、入力データの数値形式、範囲、および分割をそれぞれ決定するために、いくつかの重要な関数が使用されています。
例
#include <iostream>
#include <vector>
#include <string>
using namespace std;
// check if the given string is a numeric string or not
bool chkNumber(const string& str){
return !str.empty() &&
(str.find_first_not_of("[0123456789]") == std::string::npos);
}
// Function to split string str using given delimiter
vector<string> split(const string& str, char delim){
auto i = 0;
vector<string> list;
auto pos = str.find(delim);
while (pos != string::npos){
list.push_back(str.substr(i, pos - i));
i = ++pos;
pos = str.find(delim, pos);
}
list.push_back(str.substr(i, str.length()));
return list;
}
// Function to validate an IP address
bool validateIP(string ip){
// split the string into tokens
vector<string> slist = split(ip, '.');
// if token size is not equal to four
if (slist.size() != 4)
return false;
for (string str : slist){
// check that string is number, positive, and range
if (!chkNumber(str) || stoi(str) < 0 || stoi(str) > 255)
return false;
}
return true;
}
// Validate an IP address in C++
int main(){
cout<<"Enter the IP Address::";
string ip;
cin>>ip;
if (validateIP(ip))
cout <<endl<< "***It is a Valid IP Address***";
else
cout <<endl<< "***Invalid IP Address***";
return 0;
} 標準のc++エディターを使用して上記のコードをコンパイルした後、次の出力が生成されます。これは、入力番号10.10.10.2が正しいIPアドレスであるかどうかを次のように適切にチェックしています。
出力
Enter the IP Address:: 10.10.10.2 ***It is a Valid IP Assress***
-
C ++で文字列をトークン化しますか?
最初の方法は、文字列ストリームを使用して、スペースで区切られた単語を読み取ることです。これは少し制限されていますが、適切なチェックを提供すれば、タスクはかなりうまくいきます。 例 #include <vector> #include <string> #include <sstream> using namespace std; int main() { string str("Hello from the dark side"); string tmp; // A string
-
C#でIPアドレスを検証する
IPアドレスは、コンピュータネットワーク上の各デバイスに割り当てられた一連の番号であるインターネットプロトコルアドレスです。 C#では、名前空間System.NetのクラスIPAddressクラスがIPアドレスを処理します。 IPアドレスの検証に使用されるプログラムは次のとおりです- 例 using System; using System.Net; using System.Net.Sockets; using System.Text.RegularExpressions; namespace IPaddressDemo { class Example { &nb