How to get char array's length I use a LCD display to display a not known size of text ( changes over time ). I wish to display it at the center of LCD ( 2X16 ).

I declare:


  char t[16];
  char h[16];
  sprintf(t, "%.1f%cC %.0f%%", temperature,223, humidity);


Now, since I want to add additional data on a specific line and center it, I need to know it size. When using:

sizeof(t)/(sizeof(t[0])


I get 16 which is the size determined and not its actual size.

How can I get the exact number of chars used?
The function I think you are looking for is strlen - STRing LENgth.

It counts the number of characters in a string up until it finds the "NULL" end of string marker.

Serial.println(strlen(t));