C ++中验证IP地址
本文的目的是通过c++代码编程验证正确的IP (internet
protocol)地址。IP地址是一个32位的点-小数表示法,分为从0到255的四个十进制数字段。此外,这些数字由点分隔连续。IP地址的作用是在网络中以独特的方式识别主机,以便在它们之间建立连接。
因此,为了验证从用户端输入的正确IP地址,以下算法简要介绍了如何具体实现代码序列以标识正确的IP地址;
Algorithm(算法)
STARTStep-1: 输入IP地址
Step-2: 将IP分割成四个段并存储在一个数组中
Step-3: 检查是否为数字
Step-4: 使用foreach循环遍历数组列表
Step-5: 检查其范围(小于256)和数据格式
Step-6: 调用Main()中的validate方法
END
因此,根据算法,以下c ++拟定了用于验证IP地址的方法,其中使用了几个基本函数分别确定数字形式,范围和分割输入数据;
示例
#include <iostream>#include <vector>
#include <string>
using namespace std;
// 检查给定的字符串是否是数字字符串
bool chkNumber(const string& str){
return !str.empty() &&
(str.find_first_not_of("[0123456789]") == std::string::npos);
}
// 函数使用给定的分隔符拆分字符串str
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;
}
//函数验证IP地址
bool validateIP(string ip){
//字符串拆分为标记
vector<string> slist = split(ip, '.');
if (slist.size() != 4)
return false;
for (string str : slist){
//检查字符串是否为数字,正数和范围
if (!chkNumber(str) || stoi(str) < 0 || stoi(str) > 255)
return false;
}
return true;
}
//在C ++中验证IP地址
int main(){
cout<<"输入IP地址::";
string ip;
cin>>ip;
if (validateIP(ip))
cout <<endl<< "***它是一个有效的IP地址***";
else
cout <<endl<< "***IP地址无效***";
return 0;
}
在使用标准c++编辑器编译上述代码后,我们会作出以下输出,以检查输入数字10.10.10.2是否正确的IP地址
输出结果
输入IP地址:: 10.10.10.2***它是一个有效的IP地址***
以上是 C ++中验证IP地址 的全部内容, 来源链接: utcz.com/z/353532.html