4

(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() を使用する方法を見つけました...そしてより深い。現在、これらの弓の引き出しは、私の学生の「ツール」ライブラリの一部であり、コンソールのプログラミング学習をもう少し彩り豊かなものにしています。

4

2 に答える 2

5
于 2013-01-21T00:35:27.100 に答える