怎么比较两个ip地址的大小

如何比较两个ip地址的大小

string   s1,s2;
s1=192.168.0.2;
s2=192.168.1.2;

应该是s2> s1;

该怎么比较呢

谢谢了
给点代码就更好了

------解决方案--------------------
自己实现的话可以按照这个思路来罗:
首先把字符串按照“.”分割成四个子串,然后对这四个子串使用atoi得到对应的值,分别记为i1,i2,i3,i4然后做如下运算ipval=i1*255*255*255+i2*255*255+i3*255+i4;
然后用分别得到的ipval来比较大小即可
------解决方案--------------------
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib ")

inet_addr(str1.c_str())
inet_addr(str2.c_str())
------解决方案--------------------
也可以将点分的每个数字都取出来比较,不过要定义若干变量

sscanf(str1.c_str(), "%d.%d.%d.%d ",x,y,z,r);
------解决方案--------------------
可以先按wanfustudio(雁南飞:知识之败,慕虚名而不务潜修也)
的方法,将字符变成ULONG类型。
高低字节序可以可以用ntohl(或htonl) 进行转换嘛。