I am wondering if there are any benefits to dealing with strings like the 1st way vs the 2nd way? The 1st way uses slightly less memory.
char eventString1[100];
snprintf(eventString1, sizeof(eventString1),
"%u%s",
eventCt,
": "
);
for (byte i = 0; i <= eventCt; i++) {
strcat(eventString1, String(convertTimeToUTC(dataArr[i][0])));
strcat(eventString1, ",");
strcat(eventString1, String(convertTimeToUTC(dataArr[i][1])));
strcat(eventString1, ",");
strcat(eventString1, String(convertTimeToUTC(dataArr[i][2])));
strcat(eventString1, ",");
strcat(eventString1, String(convertTimeToUTC(dataArr[i][3])));
strcat(eventString1, "-");
}
snprintf(eventString1, sizeof(eventString1),
"%s%s%s",
eventString1,
":",
System.version().c_str()
);
if (Particle.connected()) {
Particle.publish("test", eventString1, PRIVATE);
}
OR
String eventString1 = String(String(eventCt) + ": ");
for (byte i = 0; i <= eventCt; i++) {
eventString1.concat(String(convertTimeToUTC(dataArr[i][0])) + "," + String(convertTimeToUTC(dataArr[i][1])) + "," + String(convertTimeToUTC(dataArr[i][2])) + "," + String(convertTimeToUTC(dataArr[i][3])) + "-");
}
if (Particle.connected()) {
Particle.publish("test", String(eventString1 + ":" + String(System.version())), PRIVATE);
}