String auswerten

Gast #318151
Lesenswert?

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?
#318152
Lesenswert?

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++ )
    ;

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren