ZBLOG

C语言 检查是否是合法的ipv4 地址或者ipv6地址

在C语言中,可以使用正则表达式或字符串处理来检查是否是合法的IPv4地址或IPv6地址。以下是两个示例函数,用于检查给定的字符串是否是合法的IPv4或IPv6地址。

#include <stdio.h>
#include <string.h>
#include <regex.h>

// 检查是否为合法的IPv4地址
int isValidIPv4(const char *ip) {
    struct sockaddr_in sa;
    int result = inet_pton(AF_INET, ip, &(sa.sin_addr));
    return result != 0;
}

// 检查是否为合法的IPv6地址
int isValidIPv6(const char *ip) {
    struct sockaddr_in6 sa;
    int result = inet_pton(AF_INET6, ip, &(sa.sin6_addr));
    return result != 0;
}

int main() {
    const char *ipv4 = "192.168.1.1";
    const char *ipv6 = "2001:0db8:85a3:0000:0000:8a2e:0370:7334";

    if (isValidIPv4(ipv4)) {
        printf("%s is a valid IPv4 address.\n", ipv4);
    } else {
        printf("%s is not a valid IPv4 address.\n", ipv4);
    }

    if (isValidIPv6(ipv6)) {
        printf("%s is a valid IPv6 address.\n", ipv6);
    } else {
        printf("%s is not a valid IPv6 address.\n", ipv6);
    }

    return 0;
}

注意:这只是一个简单示例,并未考虑所有可能情况。如果需要更严格和全面的检查,建议使用正则表达式或其他更强大的验证方法。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:http://sdn.0voice.com/?id=2904

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?