如何用C语言获得本机IP地址

2025-02-27 18:33:55
推荐回答(1个)
回答1:

struct in_addr addr;
      hostent *pHost = ::gethostbyname("localhost");//在此写入你自己电脑主机名字
      switch (pHost->h_addrtype) {
      case AF_INET:
       printf("internet网络地址类型(AF_INET)\n");
       break;
      case AF_INET6:
       printf("internet网络地址类型(AF_INET)\n");
       break;
      case AF_NETBIOS:
       printf("netbios网络地址类型(AF_NETBIOS)\n");
       break;
      default:
       printf("其它地址类型 %d\n", pHost->h_addrtype);
       break;
      }
      printf("\t地址长度: %d(字节)\n", pHost->h_length);
      addr.s_addr = *(u_long *) pHost->h_addr_list[0];
      printf("\t第一个IP地址为: %s\n", inet_ntoa(addr));