Char mit Sring vergleichen
-
Guten Tag
Ich müsste einen Char mit einem String vergleichen.
Das ganze hat folgenden Hintergrund:
Ich habe einen Server der den Input als Char ausgibt. Um dementsprechend auf die Eingaben zu reagieren müsste ich das ganze mit einem String zu vergleichen.
Ich habe schon folgendes Probiert:if(input[0] == 'p' && input[1] == 'i' ...) { ... }
Es funktioniert nur ist ganze für 5 Befehle mit jeweils 5-10 Zeichen verdammt aufwändig und auch unnötig.
Gibt es da eine kürzere Lösung?
-
memcmp
-
Ein String sofern es sich um einen CString handelt ist ein Array von Chars mit einer 0 terminierung. Wieso vergleichst du nicht einfach mit strcmp ?
if( strcmp(input,"ping") == 0 ) ...
-
Wenn ich den Beitrag richtig entziffert habe, liefert der Server keine nullterminierte Rückgabe.
-
@kknd Jo Danke deins hat gelappt. Ich hatte es schon mit strcmp versucht aber ohne das "== 0". Habe gedacht wenn man nichts da hinter schreibt wird automatisch angenommen das auf true/0 geprüft wird.
-
Ja, es wird auf true geprüft, aber true ist dummerweise alles, nur nicht 0.
Das ist bei strcmp ein bisschen blöd um auch direkt "ist kleiner" und "ist größer" abzuhandeln.
-
Ein ! vor dem strcmp ist nun auch nicht so viel Schreibarbeit. Zumindestr weniger als das == 0