Hallo, ich habe probleme beim vergleichen zweier Strings. Einen String lege ich wie folgt fest. char String1[]={0xBC,0x11,0x0A,0x02,0x00,0x09,0x80,0x32); dann bekomme ich mit der UART den gleichen String übermittelt wie String1. Dann Vergleiche ich diese mit if(!strncmp(String1,UARTString,8) { ... } Wenn ich jetzt anstatt der 8 eine 4 eingebe, dann sind die Strings gleich. Gebe ich eine Zahl ab 5 ein dann sind sie ungleich. Kann das an der 0x00 im String legen, oder habe ich einen anderen Fehler. MfG Loipe
In C werden Zeichenketten mit dem Nullbyte abgeschlossen. strncmp hört beim Nullbyte zum Vergleichen auf. Die Funktion, die Du brauchst, ist "memcmp".
Hallo, soll das 5. Zeichen Leerzeichen sein? Dann musst du 0x20 nehmen. Gruß Mories
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.