Forum: Compiler & IDEs Probleme beim Strings vergleichen


von Loipe (Gast)


Lesenswert?

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

von Jochen Pernsteiner (Gast)


Lesenswert?

In C werden Zeichenketten mit dem Nullbyte abgeschlossen.
strncmp hört beim Nullbyte zum Vergleichen auf.

Die Funktion, die Du brauchst, ist "memcmp".

von Loipe (Gast)


Lesenswert?

Werde ich dann mal probieren.

Danke

MfG Alex

von Mories (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.