我有一個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