如何用代码动态地获取本机IP地址 kkkkkk,sos 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 host* phost=gethostbyname(gethostname());然后解析phost结构 CString sIp; sIp.Empty(); //get pc name CString sPcName=GetComputerName(); if(sPcName.IsEmpty()) return sIp; //得到IP 字符串 HOSTENT *host=::gethostbyname( sPcName.GetBuffer(sPcName.GetLength()) ); if( !host) return sIp; PBYTE addrList=(PBYTE)host->h_addr_list[0]; if( !addrList ) return sIp; //addrList数组中为四个IP数值元素 需要转换 sIp.Format( _T("%d.%d.%d.%d"),addrList[0],addrList[1], addrList[2],addrList[3] ); return sIp; 我编译怎么说 HOSTENT 没定义,需要加什么头文件? #include <winsock2.h.>#pragma comment(lib,"ws2_32.lib") //MFC socket extensions#include <afxsock.h> 如何枚举图盘图标,并且依次获得托盘图标句柄? windows对话框里如何显示 © ? 请教! 关于对话框绘图的问题 对话框中怎样加入工具条(ToolBar)? 请教MFC Regular DLL中使用如何使用模板类? 关于Document/View,请指教。 在其他对话框中调用颜色对话框的问题 我的问题怎么没了,再问一次! 在vc中怎样调用拨号程序? 拨号拨96169老是拨不上,大家有没有好一点的建议啊? 多线程消息循环问题?? 请教:关于组播的一个问题
然后解析phost结构
CString sIp;
sIp.Empty(); //get pc name
CString sPcName=GetComputerName();
if(sPcName.IsEmpty()) return sIp; //得到IP 字符串
HOSTENT *host=::gethostbyname( sPcName.GetBuffer(sPcName.GetLength()) );
if( !host) return sIp;
PBYTE addrList=(PBYTE)host->h_addr_list[0];
if( !addrList ) return sIp;
//addrList数组中为四个IP数值元素 需要转换
sIp.Format( _T("%d.%d.%d.%d"),addrList[0],addrList[1],
addrList[2],addrList[3] ); return sIp;
#pragma comment(lib,"ws2_32.lib")
#include <afxsock.h>