char* in if-Schleifen



  • Hallo,

    ist es richtig, dass char* nicht in if-Schleifen funktionieren?

    char* regel;
    
    //dann erfolg die Zuweisung über Argumente bei einem Konsolenprogramm
    
    cout << regel;
    if (regel = "STA")
    	//Befehl
    

    das "cout" liefert STA, aber der Befehl in der if-Schleife wird nicht ausgeführt! Die tut so als ob da gar nicht STA steht.

    Hat jemand eine einfache Lösung?



  • Nein, das geht so nicht.

    Vermutlich willst Du vergleichen, ob der der Zeiger auf den gleichen Text zeigt, oder? mit einem = machst Du allerdings eine Zuweisung, das heißt der Zeiger zeigt danach dahin. Mit == würdest Du nur die Adressen der beiden Texte vergleichen. Das heißt, selbst wenn sie gleich sind werden sie mit großer Wahrscheinlichkeit an verschiedenen Adressen liegen. Das willst Du auch nicht...

    Eine wirklich einfache Lösung wäre std::string, da kannst Du mit = zuweisen, mit == vergleichen, wie man es halt gewohnt ist.
    Ansonsten kannste auch strcmp oder sowas verwenden.

    MfG Jester



  • Verwechselt glaub Pascal mit C++ :-)....

    = ist für Zuweisung und == für das prüfen auf Gleichheit

    wenn du allerdings <char* regel> mit "STA" verglechst, wirst du immer noch keienn erfolg haben... solltest dafür vielleicht mal mit nem std::string arbeiten... dann wird so nen vergleich leichter..



  • verdammt... da war ich wol nen tick zu langsam *grins*



  • Wie kommen eigentlich so viele Leute auf den Namen if-Schleife? Das hör ich bei uns im Infounterricht auch, das hat doch nichts mit einer Schleife gemein...



  • Manche halten tatsächlich die { }-Begrenzer für die Schleife. Könnte daran liegen, dass denen der Begriff einfach an den Kopf geknallt wurde, ohne vielleicht mal den Kontrollfluss aufzumalen ...



  • Bashar schrieb:

    Manche halten tatsächlich die { }-Begrenzer für die Schleife. Könnte daran liegen, dass denen der Begriff einfach an den Kopf geknallt wurde, ohne vielleicht mal den Kontrollfluss aufzumalen ...

    Hmm da verstehe ich fast wieder warum wir ein halbes Jahr Flussdiagramme zu unseren Programmen schreiben mussten :(.

    MfG SideWinder



  • das geht nicht nur dir so 🙂 das "leiden" kenn ich nur zu gut... nervig.. aber so kapierts auch der letzte 🙂

    -----
    have a nice day...
    bye, Raphi 🙂


Anmelden zum Antworten