IP地址CString和DWORD转换
#pragma comment(lib,"ws2_32.lib")
#include <Winsock2.h>
//将CString 型IP地址在IPAddressCtrl中显示
CString strIP="192.168.0.10";
DWORD dwIP;
dwIP = inet_addr(strIP);
unsigned char *pIP = (unsigned char*)&dwIP;
m_ipAddr.SetAddress(*(pIP+3), *(pIP+2), *(pIP+1), *pIP);
//将IPAddressCtrl中的IP地址获得并转换成CString型
unsigned char *pIP;
CString strIP;
DWORD dwIP;
m_ipAddr.GetAddress(dwIP);
pIP = (unsigned char*)&dwIP;
strIP.Format("%u.%u.%u.%u",*(pIP+3), *(pIP+2), *(pIP+1), *pIP);
或者有一个简单的:
CString strIP="192.168.1.184";
DWORD dwAddress= ntohl( inet_addr(strIP));
m_IPAddr.SetAddress(dwAddress);
// DWORD IP转换为CString
DWORD dwMainServerIP;
m_MainServerIPCtrl.GetAddress(dwMainServerIP);
strMainServerIP.Format(_T("%d.%d.%d.%d"),
(dwMainServerIP>>24)&0xff,
(dwMainServerIP>>16)&0xff,
(dwMainServerIP>>8)&0xff,
dwMainServerIP&0xff ) ;