검색어 : cout wcout
문제는 std::cout.imbue(std::locale("korean")); 했다고 해도,
setlocale(LC_ALL, "korean");를 한번 수행하고 나면
std::cout.imbue(std::locale("korean")); 를 다시 해도
위에서 cout.imbue(locale("korean"));가 아니라
setlocale(LC_ALL, "");
하면 시스템 설정 따라갑니다.
setlocale(LC_ALL, ""); 만 해도 std::wcout 도 적용 됩니다.
wprintf(L"한글");
이라던지
std::wcout << L"한글" << std::endl;
같은 코드를 빌드했을 때 한글이 안나온다면 (저의 경우 VS2005 SP1)
다음과 같이 하시면 됩니다.
일반
setlocale(LC_ALL, "korean");
wprintf(L"한글");
STL 사용시
std::cout.imbue(std::locale("korean"));
std::wcout << L"한글" << std::endl;
별 내용은 아니지만 google신에게 신탁을 받기 좀 어려웠던지라 함 써놓아봅니다.
문제는 std::cout.imbue(std::locale("korean")); 했다고 해도,
setlocale(LC_ALL, "korean");를 한번 수행하고 나면
std::cout.imbue(std::locale("korean")); 를 다시 해도
std::wcout << L"한글" << std::endl; 로 한글이 출력이 안된다는 문제가 있습니다.
위에서 cout.imbue(locale("korean"));가 아니라
wcout.imbue(locale("korean"));로 해주어야합니다.
setlocale(LC_ALL, "");
하면 시스템 설정 따라갑니다.
"korean"으로 고정하면 시스템 로케일이 다른 곳에서는 문제 있겠죠.
setlocale(LC_ALL, ""); 만 해도 std::wcout 도 적용 됩니다.
테스트 완료 했습니다.
반응형
'차근차근 > C' 카테고리의 다른 글
하위폴더 검색 및 파일명 출력 진행중 (0) | 2014.11.25 |
---|---|
[C++] wcout 한글 출력 (0) | 2014.11.25 |
cout의 모든 것 . [setf() , 조정자 , 형식변환] (0) | 2014.11.25 |
파일 검색 소스 (0) | 2014.11.24 |
폴더에서 파일리스트 가져오기 (0) | 2014.11.21 |