1. 程式人生 > >VS2015,UNICODE字符集下printf,cout列印CString,與TRACE輸出中文除錯

VS2015,UNICODE字符集下printf,cout列印CString,與TRACE輸出中文除錯

下面的測試在中文電腦上"chs"直接使用""替換亦可.

CString Str;

#include <locale.h>                   // setlocale函式的標頭檔案
setlocale(LC_ALL, "chs");             // 必加 只有新增這一句下面的列印1,2與除錯1,2才能成功
wprintf(L"%s\r\n", Str.GetString());  // VC列印方式1
printf("%S\r\n", Str.GetString());    // 標準C列印方式2
TRACE(L"%s\r\n", Str.GetString());    // MFC除錯方式1
TRACE("%S\r\n", Str.GetString());     // MFC除錯方式2

#include <iostream>                   // VC++ wcout 標頭檔案
wcout.imbue(locale("chs"));           // 必加 只有加上這一句下面的VC++方式列印才能成功
wcout <<Str.GetString() << endl;      // VC++方式列印(僅限VC)