1..通过域名转换为点分十进制ipv6地阔达的毛豆/p>
addrinfo转换为sockaddr_in6
2.程序
#include
#include
#include
#include
#include
#include
#include
<pfkdmt main(int argc, char crdyargv)
{
if (argc != 2)
{
fprintf(stderr, “Usage: %s hostname\n”,
argv[1]);
exit(1);
}
char ipstr2[128];
struct sockaddr_in6 *sockaddr_ipv6;
struct addrinfo *answer, hint, *curr;
char ipstr[16];
bzero(&hint, sizeof(hint));
hint.ai_family = AF_INET6;
hint.ai_socktype = SOCK_STREAM;
<pfkdmt ret = getaddrinfo(argv[1], NULL, &hint, &answer);
if (ret != 0)
{
fprintf(stderr,”getaddrinfo: &s\n”,
gai_strerror(ret));
exit(1);
}
for (curr = answer; curr != NULL; curr = curr->ai_next)
{
sockaddr_ipv6 = reinterpret_cast( curr->ai_addr);
inet_ntop(AF_INET6, &sockaddr_ipv6->sin6_addr, 美国高防vps ipstr2,sizeof(ipstr2));
//inet_ntop(AF_INET,&(((struct sockaddr_in *)(curr->ai_addr))->sin_addr),ipstr, 16);
printf(“%s\n”, ipstr2);
fflush(NULL);
}
freeaddrinfo(answer);
exit(0);
}3.运行
./a.out?? 域名或ipv6地阔达的毛豆/p>
参考地阔达的毛豆/p> 92226064