String Problem



  • Hi,

    in meinem String muss ich verschiedene Faktoren testen, in meinem Programm habe ich erstmal ein statisches Beispielgenommen, bevor ich auf eine abstrakte Ebene wechsle.

    String t = "teststring";

    if (t[t.Length()] == "2")
    ...
    else
    ...

    Es kommt immer folgene Fehlermeldung: Konvertierung von char nach *char nicht möglich.

    Ich kann nicht verstehen woher die Meldung kommt. Es handelt sich um den Datentyp String. Mit Hilfe der eckigen Klammern, kann ich ja anhand des Indexes auf alle Elemente zugreifen. In meinem Beispiel will ich nun auf das letzte Element zugreifen. Da bei einem String der erste Index bei 1 beginnt, habe ich nach Aufruf von Length() keine - 1 stehen.

    Aber wie kommt es zur Meldung? Die 2 steht in Gänsefüsschen, das ist so auch richtig.

    Aber wo ist dann der Fehler?

    Enno



  • Original erstellt von <Enno Matz>:
    **

    if (t[t.Length()] == "2")
    ...
    

    Aber wie kommt es zur Meldung? Die 2 steht in Gänsefüsschen, das ist so auch richtig.**

    Hi,
    falsch! Genau daran liegt es! Wenn du mit [] auf ein Zeichen zugreifst, ist es wirklich nur ein Zeichen also ein char! und "" ist ein String(bzw. char *)! Also einfach statt "2" - '2' hinschreiben!

    MFG

    Alexander Sulfrian



  • Hallo,

    danke schön für die antwort. ich glaube ich sollte nicht mehr die nächte durch programmieren *gg*.

    Enno


Anmelden zum Antworten