Anführungszeichen innerhalb eines wchar_t*-Strings suchen
-
Hallo,
ich möchte in einer Zeichenkette vom Typ wchar_t* nach dem HTML-Tag <span class="Test"> suchen. Wenn ich folgendes probiere:
wcsstr(input, L"<span class=\"Test\">")wird der Tag jedoch nicht gefunden. Offenbar liegt das an den Anführungszeichen, denn solange ich nur nach "<span class=" suche, findet die Funktion die Position, sobald ich nach "<span class=\"" suche, findet sie sie nicht mehr. Hat jemand eine Idee, wie ich nach dem kompletten Tag suchen kann? Mache ich einen Fehler beim Maskieren der Anführungszeichen? Schon mal vielen Dank für Eure Antworten!
Viele Grüße,
Heiko
-
Stimmt nicht. Das hier klappt wunderbar:
wchar_t input[]=L"blabla<span class=\"Test\">blabla"; wchar_t *p=wcsstr(input, L"<span class=\"Test\">"); //p zeigt auf den gefundenen TeilstringZeig mal den ganzen (relevanten) Code. Da muss ein anderer Fehler drin sein.
-
Hallo Matze,
vielen Dank für Deine Antwort. Du hast recht, ich habe tatsächlich an der völlig falschen Stelle gesucht. In Wirklichkeit war der Fehler äußerst trivial: Mein Programm wird aus einem anderen Programm heraus aufgerufen und bekommt den Eingabe-String als Parameter übergeben. Bei dieser Übergabe wurden die Anführungszeichen nicht maskiert, so dass sie in meinem Programm erst gar nicht ankamen. Hätte ich eigentlich drauf kommen müssen, aber ich glaube, ohne Deine Antwort hätte ich mich noch eine ganze Weile gefragt, warum wcsstr nicht das Erwartete tut.
Viele Grüße,
Heiko
-
Solche Fehler kann man schnell erkennen, indem man ausgiebigst den Debugger nutzt. Der zeigt dir ja alle Variableninhalte an. Einfach einen Breakpoint setzen und z.B. überprüfen, worauf input denn nun wirklich zeigt, schon ist man dem Fehler auf die Schliche gekommen. Das macht meist mehr Sinn, als ewig den Quellcode zu durchforsten.
