000
10.03.2005, 18:52 Uhr
~Daywalker
Gast
|
Hallo zusammen, habe folgendes Problem. Mein Programm soll Zeichen aus einem Dokument Schritt für Schritt auslesen und in einem String speichern. Eine Suchfunktion soll dann die Möglichkeit bieten, gezielt nach Zeichenketten zu suchen. Für das Einlesen benutze ich datenquelle.get(zeichen), wobei zeichen als char zeichen deklariert ist; Das funktioniert auch alles soweit einwandfrei. Da char aber als signed nur 8 Bit benutzt, kann mein Programm Umlaute nicht korrekt einlesen und gibt an ihrer Stelle Ersatzzeichen aus. Da aber meine Suchfunktion darauf basiert, dass 2 Strings miteinander verglichen werden, scheitert die Suche immer dann, wenn das Suchwort einen Umlaut enthält. Eine Umstellung der Variable auf unsigned char macht Probleme mit der get() Methode => dann funktioniert gar nichts mehr. Gebe ich die eingegebenen Daten in eine externe Datei aus, sind wieder alle Umlaute da, nur innerhalb der Konsolenanwendung funktioniert das nicht. Meine Suchfunktion sieht im Kern so aus:
C++: |
if (kategorie) { for (int i = 0;i < (kategorieinhalte[index].length());i++) //Endpunkt geändert { if (puffer == suchwort) { gefunden = true; puffer.erase(); break; } }
|
Hat irgendwer eine Idee, was ich machen könnte, um auch Umlaute suchen zu können? Hänge schon was länger an diesem Problem und langsam wirds frustrierend! Herzlichen Dank schon mal! Patrick
Bearbeitung von Pablo: |
Benutze CPP Tags selber!
|
Dieser Post wurde am 10.03.2005 um 19:08 Uhr von Pablo editiert. |