nach Sonderzeichen im String suchen
-
Hallo,
ich habe folgenden Code:
std::string text; // 1. Füllen von text // ... // 2. Suchen von "\" std::string::size_type pos; pos = text.rfind("\");Dazu kriege ich leider immer folgende Fehlermeldung:
error C2001: Zeilenumbruch innerhalb einer Konstanten
error C2146: Syntaxfehler : Fehlendes ')' vor Bezeichner 'pos2'Wie kann ich denn dann nach dem Zeichen '\' in einem String suchen?
VIELEN DANK!
V.K.
-
den backslash escapen:
"\\"
-
Zur Erklärung - der Backslash leitet Sonderzeichen-Sequenzen wie \n (Zeilenumbruch), \0 (Stringende-Marke) oder auch \" (Anführungszeichen als String-Bestandteil) ein - deswegen mußt du ihn maskieren, wenn du ihn in Reinform haben willst.
In deinem Beispiel wird die Kombination \" nicht als Stringende gesehen, sondern als 'echtes' Anführungszeichen - und der Compiler beschwert sich anschließend, daß bis zum Ende der Code-Zeile kein Stringende aufgetaucht ist.
-
Danke Euch!