_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_
Guybrush Threepwood Geschrieben 4. Oktober 2010 Geschrieben 4. Oktober 2010 Weil umltext kein string ist sondern ein TCHAR*?
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++.
_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_
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden