gpt4 book ai didi

将 float 数据转换为必须通过 UDP 发送的 Char 数据

转载 作者:行者123 更新时间:2023-11-30 17:23:35 27 4
gpt4 key购买 nike

我正在使用 C 套接字将数据发送到服务器,我在互联网上找到了一些示例,但它们都显示通过网络发送的字符数据。相反,我的数据是浮点型的,因此我需要将这些数据从浮点型转换为字符型来发送,并且在服务器端我必须将其转换回浮点型。

我阅读了有关 sprintf 或 snprintf 的内容,但发现使用这些函数存在一些问题。

我的情况:

数据包[4] = {112.3, 113.4, 234.8, 599.4}“例如”

我需要将其作为字符发送到服务器。

提前致谢

最佳答案

如果你小心的话,你可以使用 union代表您的float作为 char 的数组s:

typedef union packet
{
float f;
char c[4];
} packet;

除非字节顺序(您可能需要调整 float )和 char在某些平台上签名,在其他平台上未签名(根据口味调整),这是明确定义的。特别是,该标准保证

  1. f的地址与 c 的第 0 个元素相同.

  2. c数组是连续的。

关于将 float 数据转换为必须通过 UDP 发送的 Char 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27480340/

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