如何将结构转换为字符串?

时间:2018-06-14 08:49:11

标签: c++

我有以下结构:

typedef struct {
   float battery;
   float other;
   float humidity;
} rtcStore;

rtcStore rtcMem;

我需要将结构中存储的数据发送到thingspeak.com。但是,要发送数据,我需要将我的结构转换为字符串。谁能告诉我怎么做?如果用C语言完成它会更有帮助。

2 个答案:

答案 0 :(得分:4)

您可以使用snprintf(https://linux.die.net/man/3/snprintf),如下所示:

char buffer[100];
snprintf(buffer, 100, "%.4f %.4f %.4f", rtcMem.battery, rtcMem.other, rtcMem.humidity)

这将确保您的信息不会超过100个字符。看看文档。您还可以检查snprintf的返回值,以确保一切正常。请参阅文档中的示例。

另一方面,您可以使用 strtok 解析字符串以提取字段并使用字符串浮动转换器,如 strtof

答案 1 :(得分:2)

使用sprintf将其转换为字符串。