Zum Inhalt springen

Funktion zum wandeln von Sonderzeichen


Empfohlene Beiträge

Geschrieben

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

Geschrieben
mein Problem ist wen ich Jürgen in den String speicher und ausgebe wird ja mein ü nicht korrekt dargestellt
Sollte 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?

Geschrieben
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 nicht
Wenn 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 ;)
  • 2 Wochen später...
Geschrieben

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 :D

Geschrieben

Stringobjekte haben doch eine Replacefunktion... :rolleyes:

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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...