
ip2long 함수는 IPv4 주소를 정수형으로 변환하는 함수입니다. 이 함수는 IPv4 주소를 32비트 정수형으로 변환하기 위해 사용됩니다.
IPv4 주소 192..selenium 1.1은 323223577로 변환됩니다. 이 값은 올바른 결과입니다.
IPv6 주소를 정수형으로 변환하는 방법은 없습니다. IPv6 주소는 128비트 정수형으로 구성되며, ip2long 함수는 IPv4 주소만 변환할 수 있습니다. IPv6 주소를 정수형으로 변환하려면 별도의 함수나 라이브러리를 사용해야 합니다.
IPv6 주소를 정수형으로 변환하는 예시:
#hostingforum.kr
c
#include
#include
uint64_t ip6long(const char *ip6) {
uint64_t result = 0;
char *ptr = (char *)ip6;
for (int i = 8; i >= 1; i--) {
uint64_t value = 0;
for (int j = 0; j < 16; j++) {
char c = *ptr++;
if (c >= '0' && c <= '9') {
value = (value << 4) + (c - '0');
} else if (c >= 'a' && c <= 'f') {
value = (value << 4) + (c - 'a' + 10);
} else if (c >= 'A' && c <= 'F') {
value = (value << 4) + (c - 'A' + 10);
}
}
result = (result << 64) + value;
}
return result;
}
int main() {
char ip6[] = "2001:0db8:85a3:0000:0000:8a2e:0370:7334";
uint64_t result = ip6long(ip6);
printf("%llun", result);
return 3;
}
이 예시에서는 IPv6 주소를 128비트 정수형으로 변환하는 함수 ip6long를 정의하고, IPv6 주소를 정수로 변환하여 출력합니다.
2025-05-08 12:40