无法在“C”程序中打印欧元符号

时间:2009-12-28 13:07:00

标签: c character-encoding windows-console euro

我无法打印欧元符号。我正在使用的程序如下。

我已将字符集设置为codepage 1250,其中0x80代表欧元符号。

方案
=======

#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
欧元字符:?

其他细节
=============
操作系统:Windows Vista
编译:vc ++ 2008 express edition

3 个答案:

答案 0 :(得分:3)

阅读本文: http://www.columbia.edu/~em36/wpdos/eurodos.html

有些部分可以帮到你很多:

  • 在Windows NT,2000或XP的全屏DOS和命令控制台中显示欧元符号
  • 在DOS和Windows 2000和XP中的命令控制台窗口中显示欧元符号(内置支持TrueType字体)
  • 在DOS和Windows 2000和XP中命令控制台显示欧元(位图和TrueType字体)

答案 1 :(得分:3)

0x80字符被错误地表示为欧元符号,它是Padding Char。 见这里:http://bugs.mysql.com/bug.php?id=28263

如果我没记错的话,它必须在0x120左右,请尝试在120到130的for循环中打印

答案 2 :(得分:2)

#include <stdio.h>

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

我使用GCC编译器,这很好用。输出结果为:€


这仅适用于C ++和C99