4

ユーロ記号を印刷できません。私が使用しているプログラムは以下です。

文字セットを、ユーロ記号を表す 0x80 を持つコードページ 1250に設定しました。

プログラム
=======

#include <stdio.h>
#include <locale.h>

int main()
{
    printf("Current locale is: %s\n", setlocale (LC_ALL, ".1250"));
    printf("Euro character: %c\n", 0x80);
    getchar();
    return 0;
}

出力
======
現在のロケール: English_India.1250
ユーロ文字: ?

その他の詳細
=============
OS: Windows Vista
コンパイラ: vc++ 2008 Express Edition

4

3 に答える 3

3

これを読んでください: http://www.columbia.edu/~em36/wpdos/eurodos.html

あなたを大いに助けることができるセクションがあります:

  • Windows NT、2000、または XP のフルスクリーン DOS およびコマンド コンソールでユーロ記号を表示する
  • Windows 2000 および XP の DOS およびコマンド コンソール ウィンドウでユーロ記号を表示する (TrueType フォントのビルトイン サポート)
  • Windows 2000 および XP の DOS およびコマンド コンソールでのユーロの表示 (ビットマップおよび TrueType フォント)
于 2009-12-28T13:09:30.840 に答える
3

0x80 char は誤ってユーロ記号として示されています。これは Padding Char です。ここを参照してください: http://bugs.mysql.com/bug.php?id=28263

私の記憶が正しければ、0x120 前後である必要があります。120 から 130 までの for ループで印刷してみてください。

于 2009-12-28T13:10:50.153 に答える
1
#include <stdio.h>

int main()
{
 printf("\u20AC");
return 0;
}

私はGCCコンパイラを使用しましたが、これは正常に機能します。出力は次のとおりです。€</p>


これはC++とC99でのみ機能します

于 2009-12-28T14:20:08.093 に答える