Hi,
Can anyone offer advice on how to use strlen_P to obtain the length of a string in progmem?
In the example below, each of the four strings is length 1, 2, 3, and 4. But the results of strlen_P are over 500 for each one.
Thanks,
Jim
void sayDev(String line) {
softSerial.println(line);
softSerial.flush();
}
...
...
...
const char responseHeader[] PROGMEM = "1";
unsigned int headerLen = (unsigned int)strlen_P(responseHeader);
sayDev(F("1:"));
sayDev(String(headerLen));
const char responseHeader2[] PROGMEM = "22";
unsigned int headerLen2 = (unsigned int)strlen_P(responseHeader2);
sayDev(F("2:"));
sayDev(String(headerLen2));
const char responseHeader3[] PROGMEM = "333";
unsigned int headerLen3 = (unsigned int)strlen_P(responseHeader3);
sayDev(F("3:"));
sayDev(String(headerLen3));
const char responseHeader4[] PROGMEM = "4444";
unsigned int headerLen4 = (unsigned int)strlen_P(responseHeader4);
sayDev(F("4:"));
sayDev(String(headerLen4));
//////////////////////////////
It outputs:
1:
524
2:
527
3:
531
4:
537