-         

Ergebnis 1 bis 8 von 8

Thema: string vergleichen

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941

    string vergleichen

    Anzeige

    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

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.08.2004
    Ort
    Großbardorf
    Alter
    30
    Beiträge
    674
    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

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    08.08.2004
    Ort
    Stuttgart
    Alter
    40
    Beiträge
    11
    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

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    hallo, klasse. schönen dank.
    jetzt muss ich erst einmal schauen welche "\..." als anhängsel noch gibt für bestimmte ausgaben.
    mfg pebisoft

  5. #5
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Hallo, Peter. In den meisten Fällen wirst du mit
    "\r\n" ---> neue Zeile
    "\t" ---> tabellensprung ( ca 8 Zeichen leer )
    auskommen.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    05.04.2005
    Beiträge
    66
    > 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.

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    08.08.2004
    Ort
    Stuttgart
    Alter
    40
    Beiträge
    11
    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")rintf("ungleich\n");
    machen, aber ob das dann übersichtlich ist ??

    Grüßle Jochen

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    20.06.2004
    Beiträge
    1.941
    hallo mbod77, dein vorschlag ist klasse gewesen. geht wunderbar.
    mfg pebisoft

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •