c - Float to string -
there has got easier way this. trying cast group of int , floats char combine them single char. not building string str anticipated.
written in c.
char *str_w1; char *str_w2; char *str_w3; char *str_w4; char *str_w5; char *str_w6; char *str_vbat; char *str_day; char *str_month; char *str_year; char *str_hour; char *str_minute; sprintf(str_day, "%d", time.day); //casting int string sprintf(str_month, "%d", time.month); //casting int string sprintf(str_year, "%d", time.year); //casting int string sprintf(str_hour, "%d", time.hour); //casting int string sprintf(str_minute, "%d", time.minute); //casting int string sprintf(str_w1, "%.2f", value_w1); //casting float string sprintf(str_w2, "%.2f", value_w2); //casting float string sprintf(str_w3, "%.2f", value_w3); //casting float string sprintf(str_w4, "%.2f", value_w4); //casting float string sprintf(str_w5, "%.2f", value_w5); //casting float string sprintf(str_w6, "%.2f", value_w6); //casting float string sprintf(str_vbat, "%.2f", value_vbat); //casting float string char *str; /* building 1 string */ strcpy (str, str_day ); strcat (str, "/"); strcat (str, str_month); strcat (str, "/"); strcat (str, str_year); strcat (str, ","); strcat (str, str_hour); strcat (str, ":"); strcat (str, str_minute); strcat (str, ","); strcat (str, str_w1); strcat (str, ","); strcat (str, str_w2); strcat (str, ","); strcat (str, str_w3); strcat (str, ","); strcat (str, str_w4); strcat (str, ","); strcat (str, str_w5); strcat (str, ","); strcat (str, str_w6); strcat (str, ","); strcat (str, str_vbat);
you can use sprintf
(or better snprintf
) more single format character. removes need strcpy
, strcat
. also, don't forget allocate array string. if building small string, can preallocate array of fixed size , populate code this:
char s[256]; snprintf(s, sizeof s, "%d/%d/%d,%d:%d,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f,%.2f", time.day, time.month, time.year, time.hour, time.minute, value_w1, value_w2, value_w3, value_w4, value_w5, value_w6, value_vbat); // proceed working s
Comments
Post a Comment