把两个IP地址存到CString 的对象中,怎样比较两个IP地址?

解决方案 »

  1.   

    what kind of comparisons do you want to make? try to split the IP into 4 integers, then do comparisons
      

  2.   

    一个IPv4地址实际上就是一个long int(DWORD). 
    直接比好了. 如果你只想比较是不是相同的话. 如果是比较子网ID或者是主机ID之类. 可以用位操作, 比如IP地址 & 子网掩网可以得到它的子网号等... 具体的方法见TCP/IP的资料. 但也都是基于DWORD的运算, 速度很快. 也就是说可以避免把它分成4个BYTE. 而且如果是子网或者是超网的时候, 地址不是BYTE对齐的... 
      

  3.   

    如果CString的格式是'.'分割的ip地址,可以用socket函数inet_addr转换为long型ip地址,然后用long比较方法("=="运算)比较就可以。
      

  4.   

    CString ip1="192.168.0.1";
    CString ip2="192.168.0.3";if (ip1==ip2)
    {
    printf("OK");
    }
    else
    {
    printf("NO");
    }
      

  5.   

    agree to stonespace(stonespace)
      

  6.   

    用结构比较,我试过的
    sockaddrin
    inaddr
    在MSDN中间有结构的详细说明的。