Wie durchsuch ich am einfachsten einen String nach einem Zeichen? in meinen uC bekommen ich von einem Sensor einen String mit führeneden 0x55´s, dennen folget ein definiertes Startzeichen. Da ich nicht weiß wie viele 0x55´s es sind muss ich deren Anzahl ermitteln. der code in einer For-schleife 10mal ausgeführt ist nicht zuverlässig obwohl dach den führenden 0x55´s keine mehr verwendet werden, so dass eigentlich Header = der Anzahl der 55´s sein sollte if (String [x] == 0x55) { Anzahl55 ++; } Hat jemand einen Tip für mich wie ich es besser machen kann?
Du solltest Dir ein Buch ueber C kaufen und lesen.
zb. gibt es da die Funktion strrchr();
char* pLast = strrchr( String, 0x55 );
Und du hast einen Zeiger auf das letzte 0x55 in String.
> der code in einer For-schleife 10mal ausgeführt
Warum 10 mal, du kennst doch die Anzahl nicht.
Aber: Die Abbruchbedingung in der for-Schleife kann
alles moegliche sein. Zb. kann die Abbruchbedingung
aussagen: Die Schleife wird solange wiederholt, wie
das Zeichen ein 0x55 ist (und natuerlich das String
Ende nicht erreicht ist):
for( x = 0; String[x] != '\0' && String[x] == 0x55; x++ )
;
Anzahl55++; for( x = 0; String[x] != '\0' && String[x] == 0x55; x++ ) Anzahl55++; Im Kernighan&Ritchie gibt das zu dem Thema ein paar Beispiele...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.