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