192.168.0.xx
& 255.255.255.0
--------------
192.168.0.0
| 0.0.0.1
--------------
192.168.0.1
char *addr1 = "192.168.10.40";
char *mask1 = "255.255.255.0";
char *add1 = "0.0.0.1";
long addrVal = inet_addr(addr1);
long maskVal = inet_addr(mask1);
long addVal = inet_addr(add1);
printf("%s : %x\n", addr1, addrVal);
printf("%s : %x\n", mask1, maskVal);
printf("%s : %x\n", add1, addVal);
IN_ADDR temp;
temp.s_addr = (addrVal & maskVal) | addVal;
printf("IP 주소(변환 후) = %s\n", inet_ntoa(temp));
번외편 님이 쓰신 글 :
: 아이피를 받아서
: 192.168.10.40이나 82.82.82.82가 있다면
:
: 여기서 앞에 3번째 점까지만
: 192.168.10. 나 192.168.10
: 82.82.82. 나 82.82.82 를 잘라내서
: 192.168.10.1 과 82.82.82.1로 만들고 싶습니다.
:
: ansipos로 해야되나여? 아니면 어떤 메소드가 있을까요?
|