inet_ntoa(), inet_makeaddr(), inet_lnaof() 및 inet_netof() 및 inet_netof()에서 사용되는 구조는 에 정의되어 있습니다: inet_aton, inet_addr, inet_network, inet_ntoa, inet_makeaddr, inet_makeaddr, inet_lofa, inet_lofof, inet_lofa 우리는 독특한 inet_ntoa() 매개 변수, 구조체 in_addr에 제공합니다. 그런 다음 이 매개 변수의 주소를 검색할 수 있습니다. inet_ntoa() 함수는 네트워크 바이트 순서로 제공되는 인터넷 호스트 주소를 IPv4 점선 소수점 표기의 문자열로 변환합니다. 문자열은 정적으로 할당된 버퍼에서 반환되며 후속 호출이 덮어씁니다. IPv4 또는 IPv6 주소를 사람이 읽을 수 있는 문자열로 변환하려면(예: 192.168.0.1 또는 2001:db8:1) inet_ntoa() 함수 C는 클라이언트 측의 주소를 반환합니다. inet_ntoa의 주목할 만한 단점은 스레드가 안전하지 않으며 IPv6에 대한 지원을 제공하지 않는다는 것입니다. 그러나 getnameinfo 와 inet_ntop 모두 사전 날짜를 수행하므로 이전 시스템에서 사용할 수 있습니다. inet_ntoa 함수는 (Ipv4) 인터넷 네트워크 주소를 인터넷 표준 점선 소수자 형식의 ASCII 문자열로 변환합니다. IPv6 소켓에 IPv4 연결이 이루어지면 로컬 및 원격 네트워크 주소가 IPv4 매핑된 주소로 표시됩니다. 예를 들어 IPv4 주소 192.168.0.1은 IPv6 주소 ::ffff:192.168.0.1로 표시됩니다. inet_ntoa(함수)는 구조체 in_addr의 네트워크 주소를 점 및 숫자 형식 문자열로 변환합니다. „ntoa“의 „n“은 네트워크를 의미하며“a“는 역사적 이유로 ASCII를 의미합니다 (그래서 „ASCII 네트워크“-„toa“접미사는 ASCII 문자열을 정수로 변환하는 Atoi()라는 C 라이브러리에서 유사한 친구가 있습니다.) 4.3BSD. inet_addr() 및 inet_ntoa()는 POSIX.1-2001에 지정됩니다.

inet_aton()은 POSIX.1-2001에 지정되어 있지 않지만 대부분의 시스템에서 사용할 수 있습니다. char *inet_ntoa(구조체 in_addr in); int inet_aton (const char *cp, 구조체 in_addr *inp); in_addr_t inet_addr(const char *cp); 다른 방법은 inet_ntop 함수를 사용하는 것입니다. IP 주소가 소켓 주소 내에 아직 포함되어 있지 않은 경우 getnameinfo보다 사용하기가 다소 쉽습니다. inet_ntoa 함수는 in 매개 변수에 의해 지정된 인터넷 주소 구조를 취하고 „에서 주소를 나타내는 NULL 종료 된 ASCII 문자열을 반환합니다.“ (점) 표기법의 „192.168.16.0“에서와 같이, 점선 소수점 표기법의 IPv4 주소의 예입니다. inet_ntoa에서 반환되는 문자열은 Windows 소켓에서 할당된 메모리에 있습니다. 응용 프로그램은 메모리가 할당되는 방식에 대해 어떠한 가정도 해서는 안 됩니다. 반환된 문자열은 다음 Windows Sockets 함수 호출이 동일한 스레드 내에서 이루어질 때까지만 유효합니다. 따라서 다른 Windows 소켓 호출을 하기 전에 데이터를 복사해야 합니다.

inet_ntoa 예제