У меня есть отсортированная структура IP-адресов, где мне нужно получить количество уникальных IP-адресов, по какой-то причине способ, которым я это делаю, в результате дает мне «0». Который в этом случае должен быть 12 уникальных ips.
Массив struct, содержащий следующие элементы:
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++;
}
}
Делая простой gets-strcmp только с одним элементом (ip), я получаю, что обе строки равны. Что говорит мне, что strcmp рассматривает его как строку.
Я не совсем уверен, чего мне не хватает.
Любая помощь будет признательна.
Спасибо