gpt4 book ai didi

c - 替代 memcpy

转载 作者:太空狗 更新时间:2023-10-29 15:50:35 28 4
gpt4 key购买 nike

我正在使用 Arduino 来解析从本地网络上的应用程序发送的 UDP 包。消息包含 36 个字节的信息。前四个字节表示一个(单精度) float ,接下来的四个字节表示另一个 float ,依此类推。

Arduino 函数 udp.read() 以字符形式读取数据,我最终得到一个数组

char data[36] = { ... };

我现在正在寻找一种方法将其转换为相应的九个 float 。我找到的唯一解决方案是重复使用这个技巧:

float f;
char b[] = {data[0], data[1], data[2], data[3]};
memcpy(&f, &b, sizeof(f));

但是,我相信一定有更好的方法。除了复制内存块,我是否可以只使用指针并以某种方式告诉 C 将 b 解释为 float ?

谢谢

最佳答案

你可以直接读入缓冲区

float data[9];
udp.read((char*)data, sizeof(data));

关于c - 替代 memcpy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23584726/

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