Stringüberprüfung



  • Hallo,
    ich habe folgendes (Stil-)Problem:
    Über stdin wird mittels der Funktion readString () ein Befehl des Benutzers eingelesen. Da sinnvollerweise verschiedene Befehle eingelsen werden können, wird über ein if-Statement der Inhalt des eingelsenen Strings überprüft. Meine Lösung:

    char *input;
    input = readString ();
    if ((input[0] == 't') &&  (input[1] == 'e') && (input[2] == 's') &&  (input[3] == 't') &&  (input[4] == '\0'))
    {
      do(xyz);
    }
    

    Das funktioniert. Aber, geht das nicht eleganter? Gerade bei längeren Strings ist eine Inhaltsüberprüfung auf diese Weise eher lästig.



  • ui, allerdings!

    schau dir mal die funktion strcmp (enthalten in string.h) an:

    char *input;
    input = readString ();
    if (strcmp(input, "test") == 0)
    {
      do(xyz);
    }
    


  • genau sowas hab ich gesucht. Danke dir!


Anmelden zum Antworten