dword类型
我从ip地址控件获得的ip地址是DWORD类型的请问我想用MessageBox怎样将ip地址显示出来呢...
我从ip地址控件获得的ip地址是DWORD类型的 请问我想用MessageBox怎样将ip地址显示出来呢
展开
3个回答
展开全部
DWORD类型32位,每4位为一组代表常见的IP地址,即***.***.***.***。
采用HIWORD、LOWORD、HIBYTE、LOBYTE即可解析出各个字段。参考方案如下:
DWORD dwIPAddr;
CString str;
WORD hiWord=HIWORD(dwIPAddr);
WORD loWord=LOWORD(dwIPAddr);
BYTE nf1=HIBYTE(hiWord);
BYTE nf2=LOBYTE(hiWord);
BYTE nf3=HIBYTE(loWord);
BYTE nf4=LOBYTE(loWord);
str.Format("%d.%d.%d.%d",nf1,nf2,nf3,nf4);
MessageBox(str);
采用HIWORD、LOWORD、HIBYTE、LOBYTE即可解析出各个字段。参考方案如下:
DWORD dwIPAddr;
CString str;
WORD hiWord=HIWORD(dwIPAddr);
WORD loWord=LOWORD(dwIPAddr);
BYTE nf1=HIBYTE(hiWord);
BYTE nf2=LOBYTE(hiWord);
BYTE nf3=HIBYTE(loWord);
BYTE nf4=LOBYTE(loWord);
str.Format("%d.%d.%d.%d",nf1,nf2,nf3,nf4);
MessageBox(str);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
DWORD的四个字节从左到右(从高到低)分别对应着点分制的从高到低的四位,所以:
char strIP [ 16 ] ;
sprintf ( strIP , "%d.%d.%d.%d" , (ip>>24)&0xff, (ip>>16)&0xff, (ip>>8)&0xff, ip&0xff ) ;
就可以了。~
char strIP [ 16 ] ;
sprintf ( strIP , "%d.%d.%d.%d" , (ip>>24)&0xff, (ip>>16)&0xff, (ip>>8)&0xff, ip&0xff ) ;
就可以了。~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
_itow
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询