network byte order:

네트워크바이트 일 때


DWORD dwAddress=1233444457;

struct in_addr addr;
addr.s_addr = (long)dwAddress;

CString strAddr = inet_ntoa(addr);



호스트 바이트 일때!!
If the address is in the host byte order, then you need an
additional htonl call:


DWORD dwAddress=1233444457;

struct in_addr addr;
addr.s_addr = htonl((long)dwAddress);

CString strAddr = inet_ntoa(addr);


모든 struct와 함수는 MFC내에 내장되어있었음


나는 addr.s_addr이 없어서 구조체에 들어가서 살펴보았더니, 살짝 바뀌었는지

addr.S_un.S_addr 이렇게 유니언 구조체로 묶여있었음!


근데 까보니깐.. IP가 거꾸로 받아와지넹..


#수정 2017.03.13

거꾸로 받아와 지는게 아니라 호스트로 받아야 하는걸 네트워크로 받아서 거꾸로 받아와 지는 것이었음. 호스트바이트일땐 호트스로 풀어야 함!



출처 : http://forums.codeguru.com/showthread.php?161508-Help!How-convert-DWORD-to-Ip-address

'프로그래밍 > MFC' 카테고리의 다른 글

MFC CMap GetStartPosition, GetNextAssoc  (0) 2017.07.17
MFC ListControl 한개 이상 선택하기  (0) 2017.06.23
MFC 컨트롤 변수화 하기  (0) 2017.06.22
[MFC]C1189 에러  (0) 2016.03.18
[MFC]MSB8031 오류  (0) 2016.03.18

+ Recent posts