2012-11-12 4 views
0

가능한 중복 :
Display both of Korean and Chinese language in C++디스플레이 중국어 VC++에서 6

내가 VC++ 6에서 문제가 내장 된 게임의 소스 코드가 그 내가하려고 할 때 메시지 상자 (게임 인터페이스에 표시 할 사용자 지정된 메시지 상자)에 중국어 메시지를 표시하면 중국어 메시지가 항상 손상됩니다. 내가 전화

BOOL Message_Box(char * msg, int Button, void (*pProcOK)(), void (*pProcCancel)()){ 
    CMsgDlg dlg; 
    int nCnt = 100; 
    int nIndex = 0; 
    do { 
    nIndex = FindMsgDlg(nCnt); 
    if(nIndex == -1) 
     break; 
    nCnt++; 
    } while(true); 
    dlg.SetDlg(g_hMainWnd, nCnt, Button, msg, pProcOK, pProcCancel); 
    g_vtDlgList.push_back(nCnt); 
    g_vtMsgBox.push_back(dlg); 
    ShowDlg(dlg.GetIndex()); 
    return FALSE; 
} 

:

는 기능입니다

Message_Box("你没有足够的钱进入房间。", MB_OK); 

그리고 그것은 메시지 상자에 표시 할 때이 결과 :

??有足?的??入房? 
+0

다시 너! 당신은 질문을 끝내지 않고 떠나지 않을 것입니다 ... – billz

+0

billz이 "당신이 질문을 끝내지 않는다"는 것을 의미하는 것을 모릅니다. 그러나 어쨌든 C++ 11 기능이 없으면 MultiByteToWideChar() 함수를 사용해야합니다. 이 스레드에서 해결할 수있는 해결책 4를 참조하십시오. - http://www.codeproject.com/Answers/488485/Unicode-arabicpluscharacters-pluscontentplusfrompl?cmt=351401#answer4 – SChepurin

답변

1

당신은 유니 코드 API를 사용한다 중국어 문자를 표시하려면 유니 코드로 저장해야합니다.