gpt4 book ai didi

c++ - 在 C++ 中将 int 14236 转换为 hex 379C 作为 char[37,9C]

转载 作者:太空宇宙 更新时间:2023-11-03 10:33:54 26 4
gpt4 key购买 nike

背景

我正在创建一个简单的 BOOTP/DHCP 服务器,我正在努力创建一些数据包字节 - 特别是 DHCP 选项 13,FileSize。

规范规定该选项的总长度为 64 字节 => ID (13) 1 字节,数据长度 1 字节,其余字节为数据或 0。

问题

我需要将 int 值 14236 表示为我的数据,这相当于 HEX 中的 379C,但这需要分布在 2 个字节的数据上。如何获取 int 并获取数据的 char[]?

最佳答案

它可能需要按网络字节顺序排列。如果是这样,那么您可以使用 htons。如果你想要它在后两个字节中:

char buffer[4];
buffer[0] = 13; // code
buffer[1] = 2; // length
*(uint16_t*)(buffer + 2) = htons( 14236 );

关于c++ - 在 C++ 中将 int 14236 转换为 hex 379C 作为 char[37,9C],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8433294/

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