Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ 팁&트릭
[64] [만해] UNICODE 에서 wcout 한글 출력시 깨지는 문제에 대해서
강재호.만해 [greenuri] 19082 읽음    2009-12-13 05:30
팁이라고 하기 상당히 허접하지만 하나 올립니다. ^^

콘솔어플로 Wide char를 사용할떄가 있는데요

이 캐릭터를 콘솔로 출력을 시키면 거의 대부분 꺠집니다 .

이럴 경우에는 다음과 같은 코드를 프로그램 시작 부분에 추가 시키면 제대로 처리 됩니다.

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

예제 코드는 다음과 같습니다.

//---------------------------------------------------------------------------
#include <iostream>
#pragma hdrstop

#include <tchar.h>
//---------------------------------------------------------------------------

#pragma argsused
int _tmain(int argc, _TCHAR* argv[])
{
    using namespace std;
    const wchar_t* korean = L"한글테스트";
    wcout << "first : " <<  korean << endl;

    std::wcout.imbue( std::locale( "korean" ) );
    wcout << "second : " << korean << endl;
    getchar();
    return 0;
}
//---------------------------------------------------------------------------

아래는 결과입니다.

first : ?????
second : 한글테스트

보시는 바와 같이 한글이 제대로 출력 되는것을 보실수 있습니다. ^^

참고하세요~
초보대왕 [sauron]   2009-12-13 12:16 X
좋은 팁 보고 갑니다. ^^
고흥식 [revofu]   2016-05-03 20:04 X
윈도우 콘솔은 기본적으로 유니코드가 아닙니다. 한글 윈도우는 기본적으로 CP949입니다. 콘솔에 한글을 출력하려면 코드 페이지를 변경해 줘야만 정상적으로 한글 출력이 가능합니다.

+ -

관련 글 리스트
64 [만해] UNICODE 에서 wcout 한글 출력시 깨지는 문제에 대해서 강재호.만해 19082 2009/12/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.