반응형
유니코드 프로젝트에서 wcout이나 wprintf를 사용했을 때 한글이 출력이 안되는 문제가 생길 때가 있습니다.
이럴 때 문제를 해결하기 위해서 setlocale() 함수를 사용하면 됩니다.
main 함수 등에서 다음과 같이 호출하면 됩니다.
setlocale(LC_ALL, "");
이렇게 하면 시스템의 로케일을 따라가기 때문에 한글 윈도우에서 정상적으로 한글이 출력됩니다.
""를 "korean"으로 변경하면 한글로 특정해서 호출할 수도 있습니다.
wcout에서 한글이 정상적으로 출력되지 않을 때 다음과 같은 방법으로 처리할 수도 있습니다.
std::wcout.imbue(std::locale(""));
이후에 wcout을 호출하게 되면 정상적으로 한글이 출력되는 것을 알 수 있습니다.
반응형
'Programming > C&CPP' 카테고리의 다른 글
C++ REST SDK(카사블랑카)로 웹페이지 가져오기 (0) | 2015.06.25 |
---|---|
C++ REST SDK(Casablanca) 설치 방법 (0) | 2015.06.12 |
얕은 복사(Shallow Copy) vs 깊은 복사(Deep Copy) (0) | 2015.01.14 |
new 사용시 예외 처리 (0) | 2014.12.15 |
스마트하지 못한 스마트한 포인터 auto_ptr (0) | 2014.12.08 |