现在的位置: 首页 > 综合 > 正文

IP地址 DWORD与字符串转换

2017年12月18日 ⁄ 综合 ⁄ 共 564字 ⁄ 字号 评论关闭
CString dwIP2csIP(DWORD dwIP)  
{  
    CString strIP = _T("");  
    WORD add1,add2,add3,add4;  
      
    add1=(WORD)(dwIP&255);  
    add2=(WORD)((dwIP>>8)&255);  
    add3=(WORD)((dwIP>>16)&255);  
    add4=(WORD)((dwIP>>24)&255);  
    strIP.Format("%d.%d.%d.%d",add4,add3,add2,add1);  
      
    return strIP;     
}  
  
DWORD csIP2dwIP(LPCTSTR strIP)  
{  
    int   len=_tcslen(strIP);   
    if(len <6||len> 15)   return   0;   
    DWORD   dwip=0;   
    char   *p;   
    BYTE   dd;   
    char   field[4];   
    int   i=0,j=3;   
    for(p=(char*)strIP;*p!=NULL;p++)   
    {   
        if(*p >= '0' && *p <= '9')     
            field[i++]=*p;   
        if(*(p+1) == '.'||(*(p+1) == '/0 '))   
        {   
            field[i]=0;   
            i=0;   
            dd=(BYTE)::atoi(field);   
            dwip=dwip|((DWORD)dd <<(j--)*8);   
        }         
    }   
    if(j!=-1)     
        return 0;   
  
    return   dwip;   
}  

 

抱歉!评论已关闭.