#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;

}