gethostbyname简单问题!

smartlife 2003-12-12 03:55:11
host = gethostbyname();
将host.h_addr_list[0]中的ip地址(网络序)转换成 a.b.c.d 这样的字符串!
...全文
53 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧