wuvalue 2016-11-25 14:14 采纳率: 0%
浏览 877

为何没有获取到本机IP

初学请教问题:
我用为什么getaddrinfo()没有得到本机ip?谢谢
void CGetHostNameDlg::OnGetHostNameIP()
{
// TODO: Add your control notification handler code here
char szHostname[128];
char *ipName = new char[16];
struct addrinfo *result=NULL;
struct addrinfo *ptr = NULL;
struct addrinfo hints;
int error;

UpdateData();
gethostname(szHostname,128);
m_strName = szHostname;
struct sockaddr_in *sockaddr_ipv4;

// Setup the hints address info structure
// which is passed to the getaddrinfo() function
ZeroMemory(&hints,sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_protocol = IPPROTO_UDP;
hints.ai_socktype = SOCK_DGRAM;

error = getaddrinfo(szHostname,NULL,&hints,&result);
if (error!=0)
{
    printf("getaddrinfo failed with error: %d\n", error);
    WSACleanup();
    exit(1);
}

for (ptr = result; ptr != NULL;ptr=ptr->ai_next)
{
    sockaddr_ipv4 = (sockaddr_in *)ptr->ai_addr;
}

// m_strIP =inet_ntoa( sockaddr_ipv4->sin_addr);
m_strIP = InetNtop(AF_INET,&sockaddr_ipv4->sin_addr,(PWSTR)ipName,16);
UpdateData(false);
}
图片说明

  • 写回答

1条回答 默认 最新

  • devmiao 2016-11-25 15:57
    关注
    评论

报告相同问题?

悬赏问题

  • ¥100 求Web版SPC控制图程序包调式
  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀
  • ¥15 C++为什么这个代码没报错运行不出来啊
  • ¥15 一道ban了很多东西的pyjail题
  • ¥15 关于#r语言#的问题:如何将生成的四幅图排在一起,且对变量的赋值进行更改,让组合的图漂亮、美观@(相关搜索:森林图)
  • ¥15 C++识别堆叠物体异常
  • ¥15 微软硬件驱动认证账号申请
  • ¥15 GPT写作提示指令词
  • ¥20 根据动态演化博弈支付矩阵完成复制动态方程求解和演化相图分析等