uint8_t 로의 변환을 사용하여 IPv4를 IPv6로 변환하려고합니다. 나는 IPv4가 4 바이트를 가지고 있으며 IPv6 16 비트의 2 바이트를 가지고 있다는 것을 알고있다. 그러나 나는 변환을 할 수있는 방법을 찾을 수 없다.IPv4를 C에서 IPv6로 변환
#include <stdlib.h>
#include <stdio.h>
#include <stdint.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main() {
uint8_t ipv6[16],direccionIP[] = {193, 110, 128, 200};
ipv6 = &direccionIP; //this doesn't work, and I don't come up with any method
printf("%u", ipv6);
return 0;
}
쿼트 포트에 파인트를 넣을 수는 없습니다 –
무엇을 구체적으로 말하면 IPv4를 IPv6로 변환합니까? 주소 지정은 호환되지 않으며 IPv6 주소에 결함이있는 것으로 보입니다. IPv4 주소는 32 비트 정수이고 IPv6 주소는 128 비트 정수입니다. –