使用如下方法調用wprintf_s輸出中文時往往出現帶?的亂碼:
wprintf_s(L"%s",(LPCWSTR)cmdLineArr[1]);
解決方案:
#include <locale.h>
setlocale(LC_ALL, "chs");
這樣wprintf_s便能正常打印出中文字符串了:
同樣對於TRACE(_T("第一個:%s,第二個:%s"),str1,str2);
如果運行輸出信息:“_CrtDbgReport: String too long or IO Error”。
亦可用上述方法解決。
轉自http://www.cppblog.com/aaxron/archive/2010/10/27/131509.aspx