#include <stdlib.h>
#include <arpa/inet.h>
#include <iostream>
int main(int argc, char **argv) {
struct sockaddr_in6 sa6; // IPv6
char astring[INET6_ADDRSTRLEN]; // IPv6
// IPv6 string to sockaddr_in6.
inet_pton(AF_INET6, "2001:0db8:63b3:1::3490", &(sa6.sin6_addr));
// sockaddr_in6 to IPv6 string.
inet_ntop(AF_INET6, &(sa6.sin6_addr), astring, INET6_ADDRSTRLEN);
std::cout << astring << std::endl;
return EXIT_SUCCESS;
}