wchar_t *wc = L"中文English";
st = wcslen(wc);
TRACE("%s:%u\n", wc, st);如题,然后输出不正常

解决方案 »

  1.   

    TRACE(L"%s:%u\n",   wc,   st); 
      

  2.   

    TRACEW(L"%s:%u\n",   wc,   st); 
      

  3.   

    to lwykj
    wchar_t *wc = L"中文English";
    size_t st = wcslen(wc);
    TRACE(L"%s:%u\n", wc, st);
    //TRACEW(L"%s:%u\n", wc, st); 输出"_CrtDbgReport: String too long or IO Error"to jimoguilai         wchar_t *wc = L"中文English";
    size_t st = wcslen(wc);
    //TRACE(L"%s:%u\n", wc, st);
    TRACEW(L"%s:%u\n", wc, st); 
    输出"error C3861: “TRACEW”: 找不到标识符"
      

  4.   

    to ToperRay 
    也就是要转回ANSI,然后才显示.
    我试了,可以显示文字,但显示字符个数时,个数不对. wchar_t *wc = L"中文English";
    size_t st = wcslen(wc);
    TRACE("%s:%u\n", CW2A(wc), st);输出"中文English:3301888214"请高手再指导一下,thx
    好像%u没有输出st,变成了输出其它的信息.
      

  5.   

    TRACE("%S",st)
    用大写的%S试试
    一般情况下的ansi函数,用%S表示wide char。
      

  6.   

    to heroboy2000 
    我试了:
    TRACE("%S:%u", wc, st);弹出"未指定的错误"的对话框
      

  7.   

    学习!· ~宽字符!
    确实真是应用推广的程序,设计字符的所有都要用Unicode的!