Bài viết này phục vụ mục đích xác thực địa chỉ IP (giao thức internet) chính xác bằng cách lập trình mã C ++. Địa chỉ IP là ký hiệu dấu chấm-thập phân 32 bit, được chia thành bốn phân đoạn số thập phân từ 0 đến 255. Hơn nữa, các số này được phân tách bằng dấu chấm liên tiếp. Địa chỉ IP phục vụ mục đích xác định máy chủ trong mạng theo cách duy nhất để thiết lập kết nối giữa chúng.
Vì vậy, để xác thực đầu vào địa chỉ IP chính xác từ đầu người dùng, thuật toán sau sẽ tóm tắt cách thức chính xác chuỗi mã được thực hiện để xác định địa chỉ IP chính xác như sau;
Thuật toán
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
Do đó, theo thuật toán, c ++ sau đây được soạn thảo để xác thực địa chỉ IP, trong đó một số hàm cơ bản đang được sử dụng để xác định dạng số, phạm vi và tách dữ liệu đầu vào tương ứng;
Ví dụ
#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; }
Sau khi biên dịch mã trên bằng trình chỉnh sửa c ++ tiêu chuẩn, kết quả sau sẽ được tạo ra để kiểm tra chính xác xem số đầu vào 10.10.10.2 có phải là địa chỉ IP chính xác hay không, như sau;
Đầu ra
Enter the IP Address:: 10.10.10.2 ***It is a Valid IP Assress***