我有一个IP的排序结构,我需要获取唯一IP的数量,出于某种原因,我这样做的方式是给我一个“0”作为结果。在这种情况下,应该有12个独特的ips。独特的元素 - 结构数组
包含以下元素的结构数组:
195.55.121.242
212.80.168.34
65.55.106.114
65.55.207.30
65.55.207.95
65.55.230.237
66.249.68.16
66.249.68.16
66.249.68.16
67.195.37.172
67.195.37.172
67.218.116.162
80.59.182.176
80.59.182.176
83.213.81.220
83.213.81.220
83.43.21.186
83.43.21.186
代码:
typedef struct {
char *ip;
}thestruct;
qsort(mystruct, 18, sizeof(thestruct*), cmpme);
int un = 0;
for (i=0; i<18; i++) {
if (strcmp(mystruct[i++]->ip,mystruct[i]->ip)!=0) {
un++;
}
}
通过这样一个简单的得到-的strcmp只有一个元素(IP)我得到这两个字符串相等。这告诉我strcmp将它视为一个字符串。
我不太确定我缺少什么。
任何帮助将不胜感激。
感谢仔细
我错过了。谢谢大家! – Josh 2009-11-28 18:25:18