要在C/C++中校验IP地址的格式,你可以使用正则表达式或手动解析字符串的方法。下面是使用正则表达式进行校验的示例代码:
#include <iostream>
#include <regex>
bool checkIPAddress(const std::string& ipAddress) {
// 正则表达式匹配IPv4地址格式
std::regex pattern("^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$");
return std::regex_match(ipAddress, pattern);
}
int main() {
std::string ipAddress;
std::cout << "请输入IP地址:";
std::cin >> ipAddress;
if (checkIPAddress(ipAddress)) {
std::cout << "IP地址格式正确" << std::endl;
} else {
std::cout << "IP地址格式错误" << std::endl;
}
return 0;
}
该示例使用了std::regex_match
函数来匹配输入的IP地址是否符合IPv4的点分十进制表示法。如果符合,则返回true,否则返回false。
注意,这只是一个简单的示例,仅检查了IPv4地址的格式。如果需要支持更多类型的IP地址(如IPv6),你可能需要调整正则表达式或者采用其他方式来实现更复杂的校验逻辑。
内容由零声教学AI助手提供,问题来源于学员提问