ipv6地址累加函数
Posted rivsidn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ipv6地址累加函数相关的知识,希望对你有一定的参考价值。
好不容易写的,指不定什么时候用的上。
#include <stdio.h> #include <arpa/inet.h> int main() { int i; int ret; struct in6_addr addr6; char str[INET6_ADDRSTRLEN] = {0}; ret = inet_pton(AF_INET6, "ff02::12", &addr6); if (ret != 1) { perror("inet_pton()"); return -1; } printf("%08x %08x %08x %08x\n", (unsigned int)addr6.s6_addr32[0], (unsigned int)addr6.s6_addr32[1], (unsigned int)addr6.s6_addr32[2], (unsigned int)addr6.s6_addr32[3]);
#if 1 for (i = 0; i < 125; i++) { (addr6.s6_addr32[3] += htonl(1)) ?: ((addr6.s6_addr32[2] += htonl(1)) ?: ((addr6.s6_addr32[1] += htonl(1)) ?: (addr6.s6_addr32[0] += htonl(1)))); if ((inet_ntop(AF_INET6, &addr6, str, INET6_ADDRSTRLEN)) != NULL) { printf("%s\n", str); } else { fprintf(stderr, "inet_ntop() error\n"); return -1; } } #endif return 0; }
以上是关于ipv6地址累加函数的主要内容,如果未能解决你的问题,请参考以下文章
connect()使用ipv6地址返回“invalid argument”