_Faby_ Geschrieben 4. Oktober 2010 Geschrieben 4. Oktober 2010 Hallo an alle... ich sitz grad voll auf der Leitung und komm nicht weiter... Hoffentlich kann mir jmd helfen also ich habe eine funktion geschrieben die mir die umlaute raunehmen soll und sie durch z.B. ue ersetzt void uml_to_alternative(TCHAR* umltext, TCHAR* alttext) { TCHAR* umlaute = "äöüÄÖÜ"; TCHAR* ausgeschrieben = "aeoeueAeOeUe"; int j = strcspn(umltext, umlaute); int i = strlen(umlaute); for(int k=0; k<i; k++) { TCHAR* pointer = strchr(umltext, umlaute[k]); umltext.replace(j, 1, ausgeschrieben, 2*k, 2); //Problem } } So jetzt sagt der mir Error C2228: left of '.replace' must have class/struct/union Hab diese Syntax von der Seite replace - C++ Reference Warum funktioniert des bei mir nicht!? Warscheinlich ist es ein Denkfehler meinerseits... Wenn des zutrifft muss ich mich entschuldigen... aber ich bin noch neu in der Branch danke schonmal im vorraus lg _Faby_ Zitieren
Guybrush Threepwood Geschrieben 4. Oktober 2010 Geschrieben 4. Oktober 2010 Weil umltext kein string ist sondern ein TCHAR*? Zitieren
Klotzkopp Geschrieben 4. Oktober 2010 Geschrieben 4. Oktober 2010 Hab diese Syntax von der Seite replace - C++ Reference Warum funktioniert des bei mir nicht!?Dieses replace ist eine Methode der Klasse std::string. Diese Klasse benutzt du aber gar nicht, du hantierst mit TCHAR-Zeigern. Soll das denn C sein, oder C++? Du arbeitest da mit C-Stringfunktionen, std::string::replace ist aber C++. Zitieren
_Faby_ Geschrieben 4. Oktober 2010 Autor Geschrieben 4. Oktober 2010 Ach Mensch stimmt ja :'( ich hasse es wenn mir sowas passiert... vielen dank an beide habt mir 2 stunden nachgrübeln erspart glg _Faby_ Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.