我需要一些方法來迭代兩個IPv6地址之間的地址範圍。即如果第一個IP是2a03:6300:1:103:219:5bff:fe31:13e1
而第二個是2a03:6300:1:103:219:5bff:fe31:13f4
,我想訪問該範圍內的19個地址。迭代兩個IPV6地址之間的地址範圍
對於IPv4,我只是對字符串表示做inet_aton
,並在結果結構中獲取htonl
的s_addr
,但是如何才能爲IPv6做到這一點?
對於簡化:
struct in6_addr sn,en;
long i;
s="2a03:6300:1:103:219:5bff:fe31:13e1";
e="2a03:6300:1:103:219:5bff:fe31:13f4";
inet_pton(AF_INET6,s,&sn);
inet_pton(AF_INET6,e,&en);
[..]
for (i = _first_ipv6_representation; i<=_second_ipv6_representation; i++){
/* stuck here */
}
在你的問題中,你有兩個問題,它們顯得無關緊要,我無法準確理解你想要做什麼。 – user7116
只有一個問題:如何爲兩個ipv6地址之間的循環迭代? – AmiGO
正如你想將's'和'e'存儲在你可以循環的東西中?或者你想比較兩個地址? – user7116