유니코드로 프로그램 작성 했으므로
당연히 cout 말고 wcout를 사용했다.
하지만 출력이 안된다;;
알고 보니 한글설정을 해야 한다.
그래서
std::locale::global( std::locale( "kor" ) );
이것을 추가했는데
안되는 경우가 있다.
왜냐하면 Grlobal Locale을 설정하는 것이라서
Stream에 미치지 않기때문이다.
그래서
std::wcout.imbue( std::locale( "kor" ) ); // 이것을 추가하면 된다.
std::wcin.imbue( std::locale( "kor" ) ); // cin은 이것을 추가
#include <iostream>
using namespace std;
int wmain ( int argc, wchar_t *argv[] )
{
std::wcout.imbue( std::locale( "kor" ) ); // 이것을 추가하면 된다.
std::wcin.imbue( std::locale( "kor" ) ); // cin은 이것을 추가
wcout << L"한글테스트" << endl;
wchar_t* str = L"wchar_t 한글테스트";
wcout << str << endl;
return 0;
}
감사합니다. wstring에는 값이 제대로 들어있는데 wcout으로 출력이 되지 않길래 답답했어요 ㅠㅠ
답글삭제