[C] Unicode character Ausgabe?

Big Poelly

Ensign
Registriert
Sep. 2006
Beiträge
169
Hi,

habe ein (neues) Problem mit C: Wie schaffe ich's das ich Unicode character ausgebe?

Bei der Eingabe gibt es keine Probleme, habe einfach den Wert in Hex eingegeben. Alles geschluckt und der Debugger zeigt mir auch das richtige Zeichen an. Aber weder in der Konsole noch in einer Textdatei wird das Zeichen ausgegeben.

Habe Datentyp wchar_t genommen und versuche es mit verschiedenen putchar und printfs aber irgendetwas läuft da schief.

Bin wie immer dankbar für jede Hilfe.
 
Ich hab zwar grad keinen C Compiler da, aber bei meinem C++ Compiler gehen alle drei Varianten:
Code:
printf("%c\n", 132);
printf("%c\n", char(0x84));
printf("%c\n", char(132));

Gruß
BlackMark
 
Da kommt bei mir ein B raus.

Edit:
Sorry ich hab mich verlesen dachte du willst ASCII Zeichen ausgeben.

Gruß
BlackMark
 
Zuletzt bearbeitet:
bei mir auch, sollte aber ein japanisches Kana sein. Wenn ich den Wert im Debugger überprüfe ist das auch der Fall, aber bei der Ausgabe happerts. Gibt's für Unicode andere Ausgabefunktionen oder was mache ich falsch?
 
Soweit ich weiß kann man über die Konsole gar keine UNICODE Zeichen ausgeben.
Ich bin mir da aber nicht sicher.

Gruß
BlackMark
 
ja, habe ich grade gelesen. Weißt du obs in text- oder irgendwelchen anderen Files funktionieren sollte? Denn auch da gibt er mir nur "irgendwas" aus.
 
Also die Ausgabe in eine text Datei sollte theoretisch funktionieren, da diese ja UNICODE unterstützt, wie man das jedoch macht weiß ich leider nicht.

Gruß
BlackMark
 
ich habs mit

fprintf(output, "%c", unikana);

probiert. Klappt allerdings nicht. Da er mir nur den ASCII-Zeichensatz ausgibt.

Weiß jemand Rat?
 
Auf der Konsole?

Und was ist, wenn du das, wie von BlackMark oben geschrieben in eine Datei schreibst?

Ich nehme an, du hast das Symbol _UNICODE definiert?

Du musst bevor du TCHAR.H includierst das Symbol _UNICODE definieren. (soweit ich weiß)


Gruß,

badday
 
Zuletzt bearbeitet:
Inwiefern definieren? Mit dem Präprozessor ala #define? Sorry kann dir gerade nicht ganz folgen. tchar.h hab ich ganz gewöhnlich inkludiert und die Variable als wchar_t definiert.

Und ja, ich versuche es in eine Datei zu schreiben. Kommen aber nur Elemente aus dem ASCII-Zeichensatz raus obwohl im Debugger die richtigen Zeichen angezeigt werden.
 
Zuletzt bearbeitet:
Irgendetwas mache ich falsch. Im Debugger funktioniert alles, aber im File steht nur ASCII. Habs dann einmal mit Zeichen aus Datei einlesen und wieder ausgeben probiert und hat auch nichts genützt. Ich glaub ich lass es bleiben.

Trotzdem vielen Dank für die Hilfe.
 

Ähnliche Themen

Zurück
Oben