检索h_addr_list [0] C ++时访问冲突

时间:2014-08-16 17:47:07

标签: c++ sockets winsock access-violation

我正在尝试发送GET请求,当我尝试检索h_addr_list[0]时,尝试读取位置0x0000000C时出现访问冲突错误。

hostent* FAR hostname = gethostbyname(sDetails.host);
serveraddr.sin_addr.s_addr = *(LPDWORD)hostname->h_addr_list[0];

sDetails.host设置为http://www.google.ca进行测试。

1 个答案:

答案 0 :(得分:2)

来自Winsock gethostbyname documentation

  

如果没有错误发生, gethostbyname 会返回指向上述 hostent 结构的指针。否则,它会返回 null 指针,并且可以通过调用 WSAGetLastError 来检索特定的错误编号。

文档继续描述预期的错误代码,其中包含调用gethostbyname后跟WSAGetLastError的示例代码。