mc_gulasch
Erfahrenes Mitglied
Hi Pros,
ich habe schwerwiegende Probleme beim Einlesen von Sonderzeichen aus einer Datei.
ich verwende die Methoden "fgets" und "getc", jedoch beide recht erfolglos.
Zuerst mal kurz zum Programm:
Das Programm liest mittels der o.g. Funktionen (Sonder-)Zeichen aus einer Datei aus. Diese Zeichen werden dann in "unsigned int" umgewandelt, so dass man sie in einem 255-elementigen Array speichern kann (ASCII). Sinn der Sache ist eine Art "Indexer" zu bauen, wie beim Telefonbuch, d.h. wenn man im Indexer den unsigned int - Wert des Zeichens angibt, soll er dort hinspringen, wo alles unter diesem Zeichen gespeichert ist
(z.B.: Index[(unsigned int)'A'] -> adr 111).
Jetzt zum Problem:
1) Es werden Zeichen anders eingelesen. Beispielsweise werden Zeichen wie
œ als £ (unsigned int davon ist > 255)
š als Ü (--------------- " --------------------)
Wie schaffe ich es, dass diese Zeichen tatsächlich als diese Zeichen eingelesen werden
2) Fast wichtiger ist, wie ich es schaffe, dass die o.g. Zeichen im Zahlenbereich [0,255] bleiben
//edit: Das ganz mache ich in C nicht C++
ich habe schwerwiegende Probleme beim Einlesen von Sonderzeichen aus einer Datei.
ich verwende die Methoden "fgets" und "getc", jedoch beide recht erfolglos.
Zuerst mal kurz zum Programm:
Das Programm liest mittels der o.g. Funktionen (Sonder-)Zeichen aus einer Datei aus. Diese Zeichen werden dann in "unsigned int" umgewandelt, so dass man sie in einem 255-elementigen Array speichern kann (ASCII). Sinn der Sache ist eine Art "Indexer" zu bauen, wie beim Telefonbuch, d.h. wenn man im Indexer den unsigned int - Wert des Zeichens angibt, soll er dort hinspringen, wo alles unter diesem Zeichen gespeichert ist
(z.B.: Index[(unsigned int)'A'] -> adr 111).
Jetzt zum Problem:
1) Es werden Zeichen anders eingelesen. Beispielsweise werden Zeichen wie
œ als £ (unsigned int davon ist > 255)
š als Ü (--------------- " --------------------)
Wie schaffe ich es, dass diese Zeichen tatsächlich als diese Zeichen eingelesen werden
2) Fast wichtiger ist, wie ich es schaffe, dass die o.g. Zeichen im Zahlenbereich [0,255] bleiben
//edit: Das ganz mache ich in C nicht C++