qsort:是快速排序的一个系统函数,用它来实现数组排序比较方便,由于ip地址的特殊格式,使用qsort的排序会非常的容易。
- int cmpcam(const void * p1,const void * p2)
- {
- IP* c1=(IP *)p1;
- IP* c2=(IP *)p2;
- unsigned long l1=htonl(inet_addr(c1->ipAddr));
- unsigned long l2=htonl(inet_addr(c2->ipAddr));
- int l=l1-l2;
- return l;
- }
- int a(.....)
-
- {
- ....
- qsort(&ipInfo,num,sizeof(IP), cmpcam);
-
- ....
- }
ipInfo:待排序的ip地址的首地址,
num:ip地址的个数,
sizeof(IP):每个ip地址所在结构体中占用的大小
campcam:排序的核心函数。