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:排序的核心函数。