gpt4 book ai didi

c++ - 将字节数组转换为 in_addr 或 in6_addr 和字节序

转载 作者:太空宇宙 更新时间:2023-11-04 01:14:26 26 4
gpt4 key购买 nike

当涉及到这个问题时,我担心字节顺序。也许我想多了我要担心的事情。

我的代码的输入是一个看起来像这样的数据包:

我收到了一个包含一些字节的网络数据包。如果我知道 in_addr 所在的字节数组中的索引(并且具有有效数据),那么执行以下操作是否安全:

uint8_t* addrPtr = packet[IP_IDX];
struct in_addr addr;
memcpy((void*) addr, addrPtr, sizeof(in_addr));

不管 Endianness,这是否安全?

对于实际上是 16 个字节的 in6_addr 呢?

谢谢。

最佳答案

struct in_addr 应该是网络字节顺序,IIRC。假设您的数据包也以网络字节顺序传送,您就可以开始了。

关于c++ - 将字节数组转换为 in_addr 或 in6_addr 和字节序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4937410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com