【发布时间】:2017-06-09 19:08:45
【问题描述】:
我正在使用四个不同的结构,其中两个非常大。我有一个函数可以将每个结构的每个值写入 .txt 文件,但代码非常长且健壮。我正在寻找一种打印出每个值而不必对每个值进行硬编码的方法,但是到目前为止我在研究中发现的所有内容都表明硬编码是唯一的方法,但我想我会先在这里检查一下彻底放弃。就目前而言,我的代码如下所示:
char text[416];
snprintf(text, 416,
"%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d",
epsy.VBUS_voltage_mV,
epsy.temp_internal_degC,
epsy.status,
batty.Z_pos_Camera_Temperature,
batty.Z_neg_Camera_Temperature,
batty.Y_pos_Camera_Temperature,
batty.Y_neg_Camera_Temperature,
batty.X_pos_Camera_Temperature,
batty.FPGA_Temp_1,
batty.FPGA_Temp_2,
batty.Rx_Hinge_Temperature,
batty.Bat_1_Vbat,
batty.Bat_1_Ichg,
batty.Bat_1_Idch,
batty.Bat_1_MCU_Temp,
batty.Bat_1_Temp_Therm,
batty.Bat_1_Status,
batty.Bat_2_Vbat,
batty.Bat_2_Ichg,
batty.Bat_2_Idch,
batty.Bat_2_MCU_Temp,
...它会持续一段时间。 (80 个值) 有没有更简单的方法来做到这一点?如果是这样,我该怎么做?
【问题讨论】:
-
尝试使用
memcpy -
我很想写一个简短的 python 脚本来读取相关的头文件并为你编写 c 代码。
-
可以粘贴结构定义吗?
-
...以及一些搜索和替换编辑。
-
@ConnorOlsen 我用have a way 来处理这样的事情,尽管我怀疑它比你想要的更复杂。示例
GPrintf(GP(epsy.VBUS_voltage_mV), " " GP(epsy.temp_internal_degC), " ", GP(epsy.status), GP_eol);