Gast
#2249900
Hallo zusammen, ich sitze an einem Programm in AVR-GCC, das über die serielle Schnitstelle bei bestimmten Befehlen Portpins schalten soll. Der Vergleich kompletter Strings funktioniert, also z.B. folgendes: if (!strcmp_P (stringbuffer, PSTR ("\n\rHallo_alle"))) // funktioniert genauso auch: static char Empfang_test[13] PROGMEM = "\n\rHallo_alle"; if (!strcmp_P (stringbuffer, Empfang_test)) // funktioniert Was nicht funktioniert ist der Vergleich einzelner Zeichen: static char Empfang_test[13] PROGMEM = "\n\rHallo_alle"; if (!strcmp_P (stringbuffer[3], Empfang_test[3])) // funktioniert nicht Das brauche ich z.B. um diesen String auf ein "Hallo" zu testen. Den Test auf ein "Hallo" würde ich dann so realisieren: if (!strcmp_P(stringbuffer[3],Empfang_test[3]) && !strcmp_P(stringbuffer[4],Empfang_test[4])) && .. ) usw. (Mit der Beschreibung auf http://www.nongnu.org/avr-libc/user-manual/group__avr__pgmspace.html#gae3a7686c2e207b543be3b402d919761a durschaue ich das Problem noch nicht) Warum funktioniert der Vergleich nicht für einzelne Zeichen in einem String?