Archiv verlassen und diese Seite im Standarddesign anzeigen : string vergleichen
pebisoft
14.05.2005, 18:02
ich habe mit uart 4 zeichen in char s[4] eingelesen "SIGNAL(SIG_UART_RECV)".
wie kann ich den string "s" vergleichen.
geht es, wenn man als vergleich ein text in anführungszeichen setzt,
if (s=="wert")
mfg pebisoft
entweder du vergleichst char für char oder verwendest die Funktion strcmp aus der stdlib.h (ob die Namen exakt stimmen, weiß ich nicht, da ich im Moment nicht daheim bin)
so wie du es vorgeschlagen hast, dürfte es nicht gehen
Huhu,
die strcmp gehört zur sting.h und vergleicht Null-Terminierende Strings.Also sollte Deine Variable s eine s[5] sein damit das \0 noch mit reinpasst.
strcmp liefert im Falle von Gleichheit eine 0 als Ergebniss
if(strcmp(s, "wert") == NULL)
.....
Grüßle Jochen
pebisoft
15.05.2005, 11:31
hallo, klasse. schönen dank.
jetzt muss ich erst einmal schauen welche "\..." als anhängsel noch gibt für bestimmte ausgaben.
mfg pebisoft
Hallo, Peter. In den meisten Fällen wirst du mit
"\r\n" ---> neue Zeile
"\t" ---> tabellensprung ( ca 8 Zeichen leer )
auskommen.
> strcmp liefert im Falle von Gleichheit eine 0 als Ergebniss
> if(strcmp(s, "wert") == NULL)
Wieso vergleichst du mit NULL, wenn strcmp doch 0 liefert?
Naja, warum einfach, wenn's auch kompliziert geht... ;)
Wenn du das unbedingt so machen möchtest, mehr Schreibarbeit hat noch keinem geschadet. Höchstens der Übersichtlichkeit. :)
Huhu nochmal
>Wieso vergleichst du mit NULL, wenn strcmp doch 0 liefert?
Naja, damit das if ausgeführt wird ;-) ich könnte auch auf ungleichheit überprüfen oder, oder, oder..
>Wenn du das unbedingt so machen möchtest, mehr Schreibarbeit hat noch keinem geschadet. Höchstens der Übersichtlichkeit.
So wie ich den Satz verstehe willst mir sagen das das mit dem Vergleich auf NULL unübersichtlicher sein soll? Wenn demm so ist, dann sehe ich das anderst.
Jedoch,die Geschmäcker sind ja unterschiedlich ;-)
Mann kann das auch mit
!strcmp(s, "wert")?printf("gleich\n"):printf("ungleich\n");
machen, aber ob das dann übersichtlich ist ??
Grüßle Jochen
pebisoft
15.05.2005, 16:46
hallo mbod77, dein vorschlag ist klasse gewesen. geht wunderbar.
mfg pebisoft
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.