원본글 : http://www.gosu.net/GosuWeb/Article-detail.aspx?ArticleCode=345

int main(int argc, char* argv[])

{

 std::locale::global( std::locale( "kor" ) );

 std::wstring wideString=L"테스트 문자열 - 유니코드";

 std::wcout<<wideString<<std::endl;

 return 0;

}

위와 같이 처리하면 화면에 "테스트 문자열 - 유니코드" 라고 찍히는 것을 볼 수 있습니다.핵심은 볼드체 처리한 부분의 코드입니다.

std::wcin.imbue( std::locale( "korean" ) );

std::wcout.imbue( std::locale( "korean" ) );

다음과 같이 지정하면 현재 쓰고 있는 wcin과 wcout 에만 영향을 미치게 됩니다. 따라서 위와 같이 골치 아픈 문제는 일단 피할 수 있겠죠?

그리고 이에 대한 자료가 더 필요하시면 http://www.cantrip.org/locale.html 여기 가서 더 읽어보시거나 Standard C++ IOStreams and Locales: Advanced Programmer's Guide and Reference 또는 C++ Standard Library 라는 책을 참고하시길 바랍니다.

--------------------------------------------

오늘의 교훈

책을 사면 좀 읽쟈

+ Recent posts