首页 > 代码库 > MFC Unicode编码下,获取CString描述的IP地址并赋值到CIPAddressCtrl控件中
MFC Unicode编码下,获取CString描述的IP地址并赋值到CIPAddressCtrl控件中
1. UniCode编码下,CString中字符被声明为宽字,应使用如下方法获取char*
CString cstrIp = strIp;// Unicode 下将 CString转为char*int n = cstrIp.GetLength();int len = WideCharToMultiByte(CP_ACP,0,cstrIp,cstrIp.GetLength(),NULL,0,NULL,NULL);char *p = new char[len+1];WideCharToMultiByte(CP_ACP,0,cstrIp,cstrIp.GetLength() ,p, len, NULL,NULL);p[len] = 0;
2. 将char*描述的IP地址转化为WDORD
DWORD dwIp = inet_addr(p);
3. 将DWORD值赋值到CIPAddressCtrl控件中
// 得到的DWORDIP地址为从低位到高位,如127.0.0.1,会得到0x0100007F// 需要进行转换m_host_ip.SetAddress( (dwIp & 0xFF), // 获取0~7位 (dwIp & 0xFF00) >> 8, // 获取15~8位 (dwIp & 0xFF0000) >> 16, // 获取23~16位 (dwIp & 0xFF000000) >> 24); // 获取31~24位
如上便是全部的代码,各位如果有更为简单的办法,欢迎指教~
MFC Unicode编码下,获取CString描述的IP地址并赋值到CIPAddressCtrl控件中
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。