我想扩展我的IPv6地址。有没有办法将该地址扩展为完整地址? 如果我得到abcd:12 :: 7那么我需要将它扩展为abcd:0012:0000:0000:0000:0000:0000:0007 主要用于递增地址。
我已经编写了一些代码但显示错误。错误是 - “致命错误C1083:无法打开包含文件:'arpa / inet.h':没有这样的文件或目录”。我正在使用visual studio 2005. / p>
答案 0 :(得分:1)
对于任何类型的IPv6地址操作,您需要将其存储为4个无符号整数(每个4字节)的数组。大多数堆栈存储它有点像这样,这是来自linux内核:
struct in6_addr {
union {
__u8 u6_addr8[16];
__be16 u6_addr16[8];
__be32 u6_addr32[4];
} in6_u;
#define s6_addr in6_u.u6_addr8
#define s6_addr16 in6_u.u6_addr16
#define s6_addr32 in6_u.u6_addr32
};
您需要使用inet_pton()
将字符串转换为此压缩格式。