如何为DNS查找反向IPv6地址-C ++

在我的项目中,我需要反转IPv6 IP地址以用于将来的DNS查找。

示例:

发件人: 2001:db8:85a3:0:0:8a2e:370:7334

收件人: 7334:370:8a2e:0:0:85a3:db8:2001

如何使用c ++做到这一点? 感谢您的回答:)

PS: 对于IPv4,我正在使用以下解决方案:

        int a,b,c,d;
        char ip2[32];
        sscanf(pageAddress,"%d.%d.%d.%d",&a,&b,&c,&d);
        sprintf(ip2,d,a);
        std::cout << ip2 << "\n";

有更好的解决方案吗?

l635513504 回答:如何为DNS查找反向IPv6地址-C ++

我看到这不完全是您所需要的,但是我只是想回答您的要求而不是您的需要!

几个月前,我已经为ipv4和ipv6编写了完整的类。相信我,您不想以字符串格式进行ipv6操作。您可以将ipv4放入ipv6;所以这并不容易;特别是关于短格式和类似内容的所有规则。

我认为其中也有一些未使用的代码,但是您可以轻松清理它。

reversed类中也有ipv4方法的ipv4版本。以及一些ipv4和ipv6验证以及子网掩码验证。

此处:https://godbolt.org/z/S9SEDh

我将代码放在这里,但是太长了。

本文链接:https://www.f2er.com/3114498.html

大家都在问