(Box Drawing Range: 2500–257F) の Unicode 文字を表示しようとしています。標準の utf8 (The Unicode Standard、バージョン 6.2) であるはずです。私は単にそれを行うことができません。
最初に古き良き ASCII 文字を使用しようとしましたが、Linux 端末は utf8 で表示され、変換 (記号 ?) は表示されません。
誰でもこれらの質問に答えることができます:
- C 変数 ( ) で Unicode 文字をエンコードする方法は
style wchar_t
? - Unicode で 0x や 0o (hex、oct) などのエスケープ シーケンスを使用する方法は?
U+ は知っていますが、うまくいかなかったようです。
setlocale(LC_ALL,"");
short a = 0x2500, b = 0x2501;
wchar_t ac = a;
wchar_t bc = b;
wprintf(L"%c%c\n", ac, bc);
exit(0);
結果が使用フォントに関連していることはわかっていますが、utf8 フォント ( http://www.unicode.org/charts/fonts.html ) を使用し、2500 から 257F までのコードを表示する必要があります...実際にはそれらはありませんだ。
事前にご協力いただきありがとうございます...
[最近編集] 問題は解決されました...そして、%c の代わりに %lc で wprintf() を使用する方法を見つけました...そしてより深い。現在、これらの弓の引き出しは、私の学生の「ツール」ライブラリの一部であり、コンソールのプログラミング学習をもう少し彩り豊かなものにしています。