3

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?

VE7JRO
  • 2,515
  • 19
  • 27
  • 29
guyd
  • 1,049
  • 2
  • 26
  • 61

1 Answers1

7

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));
Majenko
  • 105,851
  • 5
  • 82
  • 139