用户登录
用户注册

分享至

dwordipstring

  • 作者: 晓风残月洞房夜
  • 来源: 51数据库
  • 2020-04-21

一、CIPAddressCtrl的GetAddress()函数获得的DWORD型的IP地址转换

DWORD dwAddress ;

m_ip.GetAddress(dwAddress);

CString str;

str.Format("%d.%d.%d.%d",(0xFF000000&dwAddress)>>24,(0xFF0000&dwAddress)>>16,(0xFF00&dwAddress)>>8,0xFF&dwAddress);

AfxMessageBox(str);

二、如何把IP字符串转化成数字

//将CString 型IP地址在IPAddressCtrl中显示

CString strIP="192.168.1.1";

DWORD dwIP;

dwIP = inet_addr(strIP);

unsigned char *pIP = (unsigned char*)&dwIP;

m_ipAddr.SetAddress(*pIP, *(pIP+1), *(pIP+2), *(pIP+3));

//将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如何赋值给DWORD类型(IP地址)

将字符串分割成四部分,分割字符串可以用CString的Mid函数,以'.'为分割界限

每部分用atoi转成整型,再将四个整形转成DWORD型,第一个数乘以2的24次方+第二个数乘以2的16次方+第三个数乘以2的8次方+第四个数

大致算法是这样,有什么细节不知道的再补充^_^

-------------------------------------------

还是自己写的好,有思考才有进步,你都能用VC了,相信有了算法自己肯定能写出来,加油!

四、C++ 将IP地址172.17.72.250 保存到4字节存储区域,再转化成字符串,

#include

int main(void)

{

char str[]="172.17.72.250";

unsigned char ip[4]={0,0,0,0};

sscanf(str, "%d.%d.%d.%d", ip, ip+1, ip+2, ip+3);

printf("%02x %02x %02x %02x \n", ip[0], ip[1], ip[2], ip

[3]);

return 0;

}

/*运行结果:

ac 11 48 fa

*/

五、如何获取从程序界面输入的IP地址

DWORD dwIP;

BYTE btTmp;

CString strTmpIp;

m_IpAddr.GetAddress(dwIP);//从控个把获取IP地址

//下面对IP地址进行倒序.如果不的话,获取的IP地址字符串就会是倒过来的顺序.

//比如:如果你输入192.168.0.1话,则IP地址字符串将会是1.0.168.192

btTmp = ((BYTE *)&dwIP)[0];

((BYTE *)&dwIP)[0] = ((BYTE *)&dwIP)[3];

((BYTE *)&dwIP)[3] = btTmp;

btTmp = ((BYTE *)&dwIP)[1];

((BYTE *)&dwIP)[1]= ((BYTE *)&dwIP)[2];

((BYTE *)&dwIP)[2]= btTmp;

strTmpIp =inet_ntoa(*((in_addr *)&dwIP));//获取IP地址的字符串

转载请注明出处51数据库 » dwordipstring

软件
前端设计
程序设计
Java相关