如3232245780变成字符串192.168.40.20

解决方案 »

  1.   

    转换DWORD的IP到CString 类型IP的函数:
    CString dwIP2csIP(DWORD ip)
    {
    CString csIP;
    BYTE field[4];
    for(int i=0;i<4;i++)
    {
    field[i]=(BYTE)(0x000000FF & ip>>i*8);
    }
    csIP.Format(TEXT("%d.%d.%d.%d"),field[3],field[2],field[1],field[0]);
    return csIP;
    }
      

  2.   

    转换CString类型IP到DWORD类型IP的函数:
    DWORD csIP2dwIP(LPCTSTR ip)
    {
    int len=_tcslen(ip);
    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*)ip;*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); // TRACE("nume =%d\n",dd);
    dwip=dwip|((DWORD)dd<<(j--)*8);
    }

    }
    if(j!=-1) return 0;
    // TRACE("sum =%d\n",dwip);
    return dwip;};