2009-12-28 6 views
4

유로 기호를 인쇄 할 수 없습니다. 내가 사용하고있는 프로그램은 다음과 같습니다."C"프로그램에서 유로 기호를 인쇄 할 수 없습니다.

나는 0x80이 유로 기호로 표시된 codepage 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을

답변

3

이 읽기 ​​:이 http://www.columbia.edu/~em36/wpdos/eurodos.html

섹션 수는 많은 도움이 될 수 있습니다.

  • 유로 기호를 전체 화면 DO로 표시합니다. 윈도우 NT, 2000, XP에서 S 및 명령 콘솔
  • 디스플레이 Windows 2000 및 XP에서 DOS와 명령 콘솔 창에서 유로 기호 (내장 된 트루 타입 글꼴에 대한 지원)
  • 디스플레이 DOS 및 명령 콘솔에서 유로 Windows 2000 및 XP (비트 맵 및 트루 타입 글꼴)
+2

와 €


이 유일한 작품이 정답이다, 콘솔 글꼴을 변경해야합니다. 또한 SetConsoleCP()를 호출하여 콘솔 코드 페이지를 전환해야하며 setlocale()은이를 수행하지 않습니다. –

+0

감사합니다. 콘솔의 입력 및 출력 코드 페이지를 설정해야합니다. 즉 SetConsoleCP(), SetOutputConsoleCP(). 참조 http://msdn.microsoft.com/en-us/library/ms683169%28VS.85%29.aspx http://msdn.microsoft.com/en-us/library/ms686013%28VS .85 % 29.aspx –

3

0x80 char은 유로 기호로 잘못 표시되어 있으며, Padding Char입니다. 여기를 참조하십시오 : http://bugs.mysql.com/bug.php?id=28263

내가 뭔가 주위에 0x120, 120에서 내가 GCC 컴파일러를 사용하는 130

+1

유로 기호 0x80 코드는 Windows 1250 및 Windows 1252 코드 페이지에서 올 바릅니다. –

2
#include <stdio.h> 

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

에 for 루프에서 인쇄를 시도해야하고 이것이 잘 작동 정확히 기억합니다. 출력은 다음과 같습니다 C++ 및 C99

+0

비 유니 코드 문자 세트를 사용하여 '€'를 인쇄하고 싶습니다. 위의 SLA80에서 지적한 바와 같이 Windows 콘솔에서 문제가 발생했습니다. 어쨌든 고마워, . –

관련 문제