bestimmte Strings nicht akzeptieren



  • sepp999 schrieb:

    if(Beispielstring="Beispiel")

    Das ist eine Zuweisung und kein Vergleich. Vergleich geht mit ==. Bei C-Strings macht es aber vermutlich etwas anderes als du denkst. Mit std::string vergleicht es den Stringinhalt.



  • daddy_felix schrieb:

    was heißt "nicht akzeptieren"?

    Angenommen ich habe als Ausnahmen: Beispiel1, Beispiel2 und Beispiel3. Dann soll das Programm genau bei diesen 3 Eingaben, false zurückgeben, bei sämtlichen anderen true.

    manni66 schrieb:

    sepp999 schrieb:

    if(Beispielstring="Beispiel")

    Das ist eine Zuweisung und kein Vergleich. Vergleich geht mit ==. Bei C-Strings macht es aber vermutlich etwas anderes als du denkst. Mit std::string vergleicht es den Stringinhalt.

    Ah ja sorry, hab das zweite = vergessen. Okay Dankeschön, ich probiers mal damit 😉



  • haut noch nicht so ganz hin wie gewünscht - könnte mir wer ein Beispiel geben bitte? 😃



  • sepp999 schrieb:

    haut noch nicht so ganz hin wie gewünscht - könnte mir wer ein Beispiel geben bitte? 😃

    zeig doch mal code



  • daddy_felix schrieb:

    zeig doch mal code

    if(strcmp(wert,ausnahme1) != 0 && strcmp(wert,ausnahme2) != 0 && strcmp(wert,3) != 0)
    return true;
    

    müsste so normalerweise funktionieren oder?



  • Wann liefert strcmp 0?

    Benutze std::string. Wirklich!



  • manni66 schrieb:

    Wann liefert strcmp 0?

    Wenn beide strings übereinstimmen kommt 0 retour.

    manni66 schrieb:

    Benutze std::string. Wirklich!

    Find im Internet nicht sonderlich viel zu der Funktion, hab mit C++ leider noch nicht viel zu tun gehabt - wie genau wird das verwendet?



  • sepp999 schrieb:

    Find im Internet nicht sonderlich viel zu der Funktion

    Verarschen können wir uns selbst!



  • dachschaden schrieb:

    Verarschen können wir uns selbst!

    Nicht gleich so nett bitte. Find hunderte Funktionen für strings, inklusive dem strcmp von oben, was meiner Meinung nach auch funktionieren müsste. Nur wie mir das std::string in dem Fall helfen soll, versteh ich nicht wirklich - steh glaub ich grad auf der Leitung.


  • Mod

    sepp999 schrieb:

    manni66 schrieb:

    Wann liefert strcmp 0?

    Wenn beide strings übereinstimmen kommt 0 retour.

    Wieso denkst du, hat manni66 dir wohl diese Frage gestellt?

    manni66 schrieb:

    Benutze std::string. Wirklich!

    Find im Internet nicht sonderlich viel zu der Funktion,

    Erzähl keinen Stuss! Das ist simpelste Basisfunktionalität von C++. Steht prominent in jedem Lehrbuch. Kommt in jedem Tutorial früh dran. Hat sogar einen Eintrag im Lexikon. Hat 20 Millionen Google-Treffer, die ersten beiden davon direkt zu den beiden größten C++-Referenzen inklusive Beispielen.

    Wir erkennen schnell, wenn jemand einfach nur faul ist; besonders einfach ist es, wenn sie solchen Quark behaupten.



  • sepp999 schrieb:

    Nicht gleich so nett bitte.

    Anders kommen Leute wie du nicht in die Pötte. Wir zeigen dir den unglaublich gut ausgeschilderten Weg; wenn du behauptest, du siehst ihn immer noch nicht, sagst du durch die Blume, dass wir für dich gehen sollen, und das kannst du dir mal getrost abschminken.

    Finde nicht sonderlich viel zu der Funktion ... das letzte Mal hat mal mir vor drei Jahren so heftig ins Gesicht gelogen.

    EDIT: Dativ/Akkusativ ist schwer.



  • dachschaden schrieb:

    Finde nicht sonderlich viel zu der Funktion ... das letzte Mal hat mal mir vor drei Jahren so heftig ins Gesicht gelogen.

    EDIT: Dativ/Akkusativ ist schwer.

    Wie gesagt, finde sehr wohl was, habe aber keine Ahnung wie mir das in diesem Fall helfen sollte. Die für mich logischere Variante ist die bereits oben gepostete, wobei ich nicht weiß was daran nicht stimmen könnte.



  • sepp999 schrieb:

    Wie gesagt, finde sehr wohl was, habe aber keine Ahnung wie mir das in diesem Fall helfen sollte.

    Es soll dir nicht nur in diesem Fall helfen, sondern generell. char-Arrays und die str-Funktionen sind eine große Fehlerquelle. Niemand macht das auf Dauer richtig.

    Hm

    sepp999 schrieb:

    wobei ich nicht weiß was daran nicht stimmen könnte.

    sepp999 schrieb:

    haut noch nicht so ganz hin wie gewünscht

    Vielleicht macht es ja etwas anders als der Test in deinem Ausgangspost?



  • okay dann les ich mich da mal ein, danke manni - wenigstns einer der ernstgemeinte antworten schreibt 👍


Anmelden zum Antworten