分享

C 如何获取本地IP地址

 昵称11934966 2013-04-17

string GetLocalIpAddress()
 {
  WORD wVersionRequested = MAKEWORD(2, 2);

  WSADATA wsaData;
  if (WSAStartup(wVersionRequested, &wsaData) != 0)
   return "";

  char local[255] = {0};
  gethostname(local, sizeof(local));
  hostent* ph = gethostbyname(local);
  if (ph == NULL)
   return "";

  in_addr addr;
  memcpy(&addr, ph->h_addr_list[0], sizeof(in_addr)); // 这里仅获取第一个ip

  string localIP;
  localIP.assign(inet_ntoa(addr));

  WSACleanup();
  return localIP;
 }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约