首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

如何获取本机IP

2012-03-07 
怎么获取本机IP请问如何获取本机IP地址,我用如下方法,str显示出来的是乱码,请大家指教charszHostname[40]

怎么获取本机IP
请问如何获取本机IP地址,我用如下方法,str显示出来的是乱码,请大家指教
                  char   szHostname[40];      
HOSTENT*   LocalHost;      
gethostname(szHostname,40);      
LocalHost   =gethostbyname(szHostname);    
char   *IPBuf=new   char[40];
memset(IPBuf, '\0 ',40);
IPBuf=   LocalHost-> h_addr_list[0];
CString   str=IPBuf;
MessageBox(str);

[解决办法]
CString CConnDLG::GetLocalIp()
{
struct hostent* phost;
char ip[20];
char hostname[50];

gethostname(hostname,50);
phost = gethostbyname(hostname);
char ** names;
names = phost-> h_aliases;
char ** iplist;
iplist = phost-> h_addr_list;
while( * iplist)
{
strcpy(ip,inet_ntoa( * (struct in_addr * ) * iplist));
iplist ++;
}
CString LocalIp = ip;
return LocalIp;
}

自己改一下
我程序里用过的东东

热点排行