请问如何获得本机的IP地址?

com1980lucky 2003-12-18 04:32:16
查了一下MSDN,
有一个CIPAddressCtrl类
但是没看明白怎么获取本机IP
哪位赐教一下
...全文
22 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nava 2003-12-18
  • 打赏
  • 举报
回复
没什么
com1980lucky 2003-12-18
  • 打赏
  • 举报
回复
哦,我明白了
我忘了用WSAStartup初始化了
谢谢大家
问题解决了
非常感谢nava
com1980lucky 2003-12-18
  • 打赏
  • 举报
回复
谢谢nava的代码
只是还有一个问题
我把这段代码加到我的程序里
这一句:
if( gethostname(szhostname, 128) == 0 )
没有通过,也就是gethostname返回值不是0
所以下面整个一段代码就没有执行
应该怎么办?
nava 2003-12-18
  • 打赏
  • 举报
回复
bool GetLocalIP(CString &strIP)
{
char szhostname[128];
if( gethostname(szhostname, 128) == 0 )
{
// get host adresses
struct hostent * phost;
int i;

phost = gethostbyname(szhostname);
//for( i = 0; phost!= NULL && phost->h_addr_list[i]!= NULL; i++ )
//{
i=0;
int j;
int h_length=4;
for( j = 0; j<h_length; j++ )
{
CString addr;

if( j > 0 )
strIP += ".";

addr.Format("%u", (unsigned int)((unsigned
char*)phost->h_addr_list[i])[j]);
strIP += addr;
}
// str now contains one local ip address - do whatever you want to do with it (probably add it to a list)
//}
}
return true;
}

需要winsock2.h
com1980lucky 2003-12-18
  • 打赏
  • 举报
回复
还是不太明白
我添加了上述函数可是认不出来
他们所属的类是什么?
是不是需要包含 winsock2.h?
wflyfox 2003-12-18
  • 打赏
  • 举报
回复
gethostname()
gethostbyaddr()
sharkhuang 2003-12-18
  • 打赏
  • 举报
回复
gethostname()
gethostipbyname()

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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