#include <stdio.h>
#include <stdlib.h>
char *stringIP(unsigned int IP);
unsigned int intIP(char *string);
int main(void) {
char startIP[16], endIP[16];
printf("Введите начальный IP: "); printf("Введите конечный IP: ");
for (unsigned int i = intIP(startIP) + 1; i < intIP(endIP); ++i) {
}
return 0;
}
unsigned int intIP(char *string) {
unsigned char *ptr
= malloc(4); sscanf(string
, "%hhu.%hhu.%hhu.%hhu", ptr
+3, ptr
+2, ptr
+1, ptr
); return *(unsigned int *) ptr;
}
char *stringIP(unsigned int IP) {
unsigned char *ptr = (unsigned char *) &IP;
sprintf(string
, "%d.%d.%d.%d", ptr
[3], ptr
[2], ptr
[1], ptr
[0]);
return string;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCgpjaGFyICpzdHJpbmdJUCh1bnNpZ25lZCBpbnQgSVApOwp1bnNpZ25lZCBpbnQgaW50SVAoY2hhciAqc3RyaW5nKTsKCgppbnQgbWFpbih2b2lkKSB7CiAgICBjaGFyIHN0YXJ0SVBbMTZdLCBlbmRJUFsxNl07CgogICAgcHJpbnRmKCLQktCy0LXQtNC40YLQtSDQvdCw0YfQsNC70YzQvdGL0LkgSVA6ICIpOwogICAgc2NhbmYoIiVzIiwgc3RhcnRJUCk7CiAgICBwcmludGYoItCS0LLQtdC00LjRgtC1INC60L7QvdC10YfQvdGL0LkgSVA6ICIpOwogICAgc2NhbmYoIiVzIiwgZW5kSVApOwogICAgCiAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gaW50SVAoc3RhcnRJUCkgKyAxOyBpIDwgaW50SVAoZW5kSVApOyArK2kpIHsKICAgICAgICBwcmludGYoIiVzXG4iLCBzdHJpbmdJUChpKSk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0KCgp1bnNpZ25lZCBpbnQgaW50SVAoY2hhciAqc3RyaW5nKSB7CiAgICB1bnNpZ25lZCBjaGFyICpwdHIgPSBtYWxsb2MoNCk7CiAgICBzc2NhbmYoc3RyaW5nLCAiJWhodS4laGh1LiVoaHUuJWhodSIsIHB0ciszLCBwdHIrMiwgcHRyKzEsIHB0cik7CiAgICByZXR1cm4gKih1bnNpZ25lZCBpbnQgKikgcHRyOwp9CgoKY2hhciAqc3RyaW5nSVAodW5zaWduZWQgaW50IElQKSB7CiAgICBjaGFyICpzdHJpbmcgPSBtYWxsb2MoMTYpOwogICAgdW5zaWduZWQgY2hhciAqcHRyID0gKHVuc2lnbmVkIGNoYXIgKikgJklQOwoKICAgIHNwcmludGYoc3RyaW5nLCAiJWQuJWQuJWQuJWQiLCBwdHJbM10sIHB0clsyXSwgcHRyWzFdLCBwdHJbMF0pOwoKICAgIHJldHVybiBzdHJpbmc7Cn0=