char s[10] = "";
strcpy(s, W2A(TEXT("心里")));
DEBUGMSG(TRUE, (TEXT("s= %s"), A2W(s))); 
汉字无法debug出来,我现在需要把TCHAR下的汉字转化为char型的,求助啊

解决方案 »

  1.   

    MultiByteToWideChar WideCharToMultiByte
    用这两个API
    ps:你s的初始化似乎有点问题……
    pps:A2W和W2A似乎是ATL的东西~
      

  2.   

    A2w和W2A在Win32下可以用啊,你说的这两个API可以详细点吗谢谢
      

  3.   

    int Wcs2Mbs(const WCHAR *wcsin, CHAR * mbsout, int outBufSize, unsigned long nCodePage) 

    int nWcsLen = ((int)wcslen(wcsin)+1) * 2; 
    int nSize = nWcsLen < outBufSize ? nWcsLen : outBufSize; 
    if(!IsValidCodePage(nCodePage)) nCodePage = GetOEMCP(); // GetACP(); 
    return WideCharToMultiByte(nCodePage, 
    0, 
    wcsin, 
    -1, 
    mbsout, 
    nSize, 
    NULL, 
    NULL ); 
    } int Mbs2Wcs(const CHAR *mbsin, WCHAR *wcsout, int outBufSize, unsigned long nCodePage) 

    int nWcsLen = (int)strlen(mbsin)+1; 
    int nSize = nWcsLen < outBufSize ? nWcsLen : outBufSize; 
    if(!IsValidCodePage(nCodePage)) nCodePage = GetOEMCP(); // GetACP(); 
    return MultiByteToWideChar(nCodePage, 
    0, 
    mbsin, 
    -1, 
    wcsout, 
    nSize+1); 

    UNICODE -> ANSI: 
    Wcs2Mbs(wcsin, mbsout, outBufSize, 936); ANSI -> UNICODE: 
    Mbs2Wcs(mbsin, wcsout, outBufSize, 936);