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ビット整数です。 –