Ich möchte die Länge von Strings aus einem Zeigerfeld ermitteln, welche
zu Debugzwecken der Variable "temp" zugewiesen werden.
Zielsystem ist ein AVR Atmega32, WinAVR (keine Ahnung, neueste Version).
1 | ...
|
2 | prog_char message1[] = "string_1\r";
|
3 | prog_char message2[] = "string__2\r";
|
4 | prog_char message3[] = "string___3\r";
|
5 | prog_char message4[] = "string____4\r";
|
6 | prog_char message5[] = "string_____5\r";
|
7 | PGM_P messages[] = { message1, message2, message3, message4, message5 };
|
8 | ...
|
Version 1 ergibt eine 1.
1 | ...
|
2 |
|
3 | for (index = 0; index < :wasweißich:; index++) {
|
4 | test = strlen(messages[index]);
|
5 |
|
6 | ...
|
Version 2 eine Null '\0' .
1 | ...
|
2 |
|
3 | for (index = 0; index < :wasweißich:; index++) {
|
4 | test = strlen(*(messages[index]));
|
5 |
|
6 | ...
|
Nun die Frage: Was verstehe ich mal wieder grundlegend falsch?
mfg