gethostbyname简单问题!

smartlife 2003-12-12 03:55:11
host = gethostbyname();
将host.h_addr_list[0]中的ip地址(网络序)转换成 a.b.c.d 这样的字符串!
...全文
27 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wltsui 2003-12-16
HOSTENT *host;
host = gethostbyname(szName);
printf( "The Computer name is: %s, and ip is: %s\n", szName,
inet_ntoa(*(IN_ADDR *)host->h_addr_list[0] ) );
  • 打赏
  • 举报
回复
smartlife 2003-12-16
up

  • 打赏
  • 举报
回复
someone 2003-12-12
在有些机器上定义了多个IP
可用如下代码将多个IP都取出来:
int i;
HOSTENT *host;
host = gethostbyname(szhn);
if (host != NULL)
{
CString strIP;
char FAR *ip;
for (i = 0; ; i++)
{
ip = host->h_addr_list[i];
strIP.Format("%d.%d.%d.%d",
*(unsigned char*)ip,
*(unsigned char*)(ip+1),
*(unsigned char*)(ip+2),
*(unsigned char*)(ip+3));
m_lstIP.AddString(strIP);
if (i == 0)
//lstrcpy(m_szIp, strIP.GetBuffer(strIP.GetLength()));
lstrcpy(m_szIp, strIP);

if (ip+4 >= host->h_name)
break;
}
}
  • 打赏
  • 举报
回复
someone 2003-12-12
HOSTENT *host;
host = gethostbyname(szhn);
if (host != NULL)
{
CString strIP;
char FAR *ip;
ip = host->h_addr_list[0];
strIP.Format("%d.%d.%d.%d",
*(unsigned char*)ip,
*(unsigned char*)(ip+1),
*(unsigned char*)(ip+2),
*(unsigned char*)(ip+3));
lstrcpy(p->szHostIP, strIP);
}
  • 打赏
  • 举报
回复
smartlife 2003-12-12
up
  • 打赏
  • 举报
回复
发帖
通信技术
加入

4253

社区成员

通信技术相关讨论
社区管理员
  • 网络通信
申请成为版主
帖子事件
创建了帖子
2003-12-12 03:55
社区公告
暂无公告