본문 바로가기
개발/Windows

UINT32[4] IPv6를 스트링으로 변환하기 / MFC, C++

by lucidmaj7 2020. 2. 19.
728x90
반응형

이전에 쓴 IPv4 UINT32 자료형을 String으로 변환하는 것에 이어 이번에는 UINT32[4] 자료형으로 된 IPv6 String으로 변환해 보는 코드를 작성해 보았다.

물론 ipv6의 축약 포맷은 구현되지 않았다.

IPv6는 128비트로 조합된 주소 형식이다.

https://en.wikipedia.org/wiki/IPv6#/media/File:Ipv6_address_leading_zeros.svg

 

// UINT32 ipv6[4];
CString IPv6ToString(UINT32 ipv6[])
{
    CString strIPv6;
    strIPv6.Format(_T("%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x"),
                        (ipv6[3] >> 16) & 0xFFFF,
                        (ipv6[3] >> 0) & 0xFFFF,
                        (ipv6[2] >> 16) & 0xFFFF,
                        (ipv6[2] >> 0) & 0xFFFF,
                        (ipv6[1] >> 16) & 0xFFFF,
                        (ipv6[1] >> 0 ) & 0xFFFF,
                        (ipv6[0] >> 16) & 0xFFFF,
                        (ipv6[0] >> 0 ) & 0xFFFF
                        );
    return strIPv6;

}

728x90
반응형

댓글