mfc 获取本机IP

男娘i 2022-05-25 11:16 395阅读 0赞

调用该函数,获取的IP将从pIp返回。原理,遍历IP列表中的所有IP:

  1. void MFCDeme::GetLocalIP(_Out_ char *pIp)
  2. {
  3. USES_CONVERSION;
  4. CString ipStr(L"");
  5. // 加载套接字库
  6. WSData data;
  7. int err = WSAStartup(MAKEWORD(2, 2,), &data);
  8. // 临时保存IP
  9. char cHostName[256] = {0};
  10. gethostname(cHostName, sizeof(cHostName));
  11. struct hostent *pHost = gethostbyname(cHostName);
  12. in_addr addr;
  13. // 这里获取的是ip列表中的所有IP
  14. for (int i = 0; pHost->h_addr_list[i] != NULL, && NULL != pHost; i++)
  15. {
  16. memcpy(&addr, pHost->h_addr_list[i], sizeof(in_addr));
  17. ipStr = CString(inet_ntoa(addr));
  18. }
  19. // 清除套接字库的引用
  20. WSACleanup();
  21. memcpy(pIp, W2A(ipStr), ipStr.GetLength());
  22. }

发表评论

表情:
评论列表 (有 0 条评论,395人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C# 获取IP方法

    今天打算试着写个小聊天程序,但是要用到获取本机IP,以前从没用过。摆渡百度了一会儿,出于贪心,想把各种获取本机IP的方法给找出来。摆渡+测试了几个小时,于是有了下面的成果,有点