免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1631 | 回复: 5
打印 上一主题 下一主题

vc debug请教! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-31 15:37 |只看该作者 |倒序浏览
代码的主要功能是利用gethostname()函数得到主机名,然后根据得到的主机名利用gethostbyname()函数得到主机的IP,代码如下,单步调试出现的错误见附件,在执行for语句的时候出现unhandled exception in ip.exe:0xC0000005: Access Violation 错误,请教高手是怎么回事呢?
#ifndef _WINSOCK_H
#define _WINSOCK_H
#include
#pragma comment (lib,"Ws2_32.lib")
#endif
#include
int main()
{
    WORD wVersionRequested;
WSADATA wsaData;
int err;
    wVersionRequested=MAKEWORD(2,2);
err = WSAStartup( wVersionRequested, &wsaData );
    if ( err != 0 )
{
  fprintf(stdout,"cannot link the library!\n");
  return 0;
}
char zjm[1024];
if(gethostname(zjm,sizeof(zjm))==SOCKET_ERROR )
{
     fprintf(stdout,"gethostname() failed %d!\n",WSAGetLastError());
  return 0;
}
     fprintf(stdout,"hostname is %s!\n",zjm);

struct hostent * phost=NULL;
int i;
if(gethostbyname(zjm)==NULL)
{
     fprintf(stdout,"gethostbyname() failed %d!\n",WSAGetLastError());
     return 0;
}
for(i=0;phost->h_addr_list[i]!=NULL;i++)
{
  char* psz=NULL;
  psz=inet_ntoa(*(struct  in_addr *)phost->h_addr_list[i]);
        fprintf(stdout,"hostip is %s!\n",psz);  
}
return 1;
}

未命名.JPG (67.27 KB, 下载次数: 21)

debug提示错误图

debug提示错误图

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2007-01-31 21:02 |只看该作者
phost你怎么没有给它赋值?

论坛徽章:
0
3 [报告]
发表于 2007-01-31 21:53 |只看该作者
原帖由 lenovo 于 2007-1-31 21:02 发表
phost你怎么没有给它赋值?

   

论坛徽章:
0
4 [报告]
发表于 2007-02-04 10:43 |只看该作者
phost首先赋值为null,也是出错

论坛徽章:
0
5 [报告]
发表于 2007-02-04 10:47 |只看该作者
--

请为 phost 分配实际存储空间。

--

论坛徽章:
0
6 [报告]
发表于 2007-02-04 10:51 |只看该作者
谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP