Flanders86 Geschrieben 4. Februar 2008 Teilen Geschrieben 4. Februar 2008 An alle C++ - bro´s, Kennt jemand ne Funktion in C++, wo ich die Möglichkeit habe, Umlaute etc. bei der Eingabe in einem String zu wandeln? um jeden tipp wäre ich dankbar :e@sy mfg Flanders Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 4. Februar 2008 Teilen Geschrieben 4. Februar 2008 Ich verstehe das Problem nicht. In was sollen diese Sonderzeichen denn gewandelt werden? Gib doch mal ein Beispiel. Was wird eingegeben, und was soll hinterher im String stehen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Flanders86 Geschrieben 4. Februar 2008 Autor Teilen Geschrieben 4. Februar 2008 Hallo Klotzkopp, ok kein Problem, ich versuch mal mein Problem zu schildern. Bsp: mein Programm soll anhand dem Vornamen die passende Anrede generieren. mein Problem ist wen ich Jürgen in den String speicher und ausgebe wird ja mein ü nicht korrekt dargestellt, dazu brauch ne Funktion die eben diese Umlaute und Sonderzeichen richtig umsetzt, gibts da eigentlich ne möglichkeit sowas zu programmieren? mfg Flanders Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 4. Februar 2008 Teilen Geschrieben 4. Februar 2008 mein Problem ist wen ich Jürgen in den String speicher und ausgebe wird ja mein ü nicht korrekt dargestelltSollte es aber. Wenn es bei dir nicht der Fall ist, liegt das wohl daran, dass du mit zwei unterschiedlichen Codierungen hantierst, d.h. die Daten, die du in den String packst, sind anders codiert, als es die Ausgabe erwartet. Woher kommen die Daten denn, und wie gibst du sie aus? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Flanders86 Geschrieben 4. Februar 2008 Autor Teilen Geschrieben 4. Februar 2008 ganz normal momentan über Tastatureingabe, später soll das Programm zeilenweise aus einer txt Datei die Namen lesen, Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Flanders86 Geschrieben 4. Februar 2008 Autor Teilen Geschrieben 4. Februar 2008 was ich dazu sagen muss, dass ich nach dem auslesen des Strings, gleich den namen in einer if Abfrage verwende, die if abfrage erkennt sicherlich dann die Umlaute nicht Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 4. Februar 2008 Teilen Geschrieben 4. Februar 2008 ganz normal momentan über Tastatureingabe, später soll das Programm zeilenweise aus einer txt Datei die Namen lesen,Ein Problem bekommst du dabei nur, wenn deine Datenquelle eine andere Codierung als deine Ausgabe benutzt. Unter Windows beispielsweise benutzen die meisten grafischen Editoren die Codepage 1252 (oder gleich UCS-2, eine Untermenge von UTF-16), die Eingabeaufforderung benutzt aber Codepage 437 oder etwas Ähnliches. In diesem Fall musst du die Strings umwandeln, z.B. mit MultiByteToWideChar/WideCharToMultiByte. Unter Linux könntest du dir mal die Funktionen in iconv.h anschauen. Aber wie gesagt, zuerst solltest du prüfen, ob du überhaupt unterschiedliche Codierungen hast. was ich dazu sagen muss, dass ich nach dem auslesen des Strings, gleich den namen in einer if Abfrage verwende, die if abfrage erkennt sicherlich dann die Umlaute nichtWenn du Umlaute in den Stringliteralen in deinem Code hast (was laut Standard sowieso nicht erlaubt ist), dann kommt es darauf an, welche Codierung dein Quellcodeeditor benutzt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
d.uNd.eE Geschrieben 14. Februar 2008 Teilen Geschrieben 14. Februar 2008 Ich hab das immer mit ner Funktion in der Art char[2] foo cin>>foo[1]; if(foo[1]=='ü') { foo[1]='u'; foo[2]='e'; };[/PHP] nur so als kleines, wohl kaum auf direkt übertragbares Beispiel Ja, ich weiss, exploitable is der code auch Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TDM Geschrieben 15. Februar 2008 Teilen Geschrieben 15. Februar 2008 Stringobjekte haben doch eine Replacefunktion... Aber für Notfälle: string ReplaceString(const string &stringSearchString, const string &stringReplaceString, string stringStringToReplace) { string::size_type pos = stringStringToReplace.find(stringSearchString, 0); int intLengthSearch = stringSearchString.length(); while(string::npos != pos ) { stringStringToReplace.replace(pos, intLengthSearch, stringReplaceString); pos = stringStringToReplace.find(stringSearchString, 0); } return stringStringToReplace; } :beagolisc Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.