Überprüfung von Zeichenketten auf Gleichheit



  • Hallo Leute,

    ich habe gerade erst mit C++ angefangen und auch vorher noch nie programmiert.
    Mein Problem:
    ich lese einen Befehl ein und speicher ihn als Zeichenkette. Jetzt möchte ich überprüfen, ob die Zeichenkette mit einem der gespeicherten Befehle übereinstimmt. Mit einer if-Abfrage würde das dann so aussehen:

    #include <iostream>
    
    void ausfuehren(void);
    
    void ausfuehren()
    {
      cout << "Hier ist die Funktion \'ausfuehren\'" << endl;
    }
    
    int main()
    {
      char befehl[11];
    
      cout << "Bitte einen Befehl eingeben: ";
      cin >> befehl;  
    
      if((eingabe[0]=='B' || eingabe[0]=='b') && eingabe[1]=='e' && eingabe[2]=='f' && eingabe[3]=='e' && eingabe[4]=='h' && eingabe  [5]=='l')
        ausfuehren();
      return 0;
    }
    

    Das ist aber sehr umständlich. Gibts noch einen leichteren Weg?

    Danke im Vorraus



  • suche mal in der Hilfe/msdn nach strcmp damit kannst du zwei Zeichenketten auf gleichheit überprüfen.

    Gruß, Maxi



  • nutze einfach keine arrays dafür, sondern string..
    geht dann etwa so:

    #include <string>
    int main()
    {
    string eingabe;
    eingabe = "bla"
    if(eingabe == "bla")
    ausfuehren();
    }



  • Danke für die Tipps!!! Habt mir echt weitergeholfen, weils jetzt viel einfacher geht!


Anmelden zum Antworten