我試圖在windows命令提示符下輸出以下字符:ュ(U + FF6D)。wcout不會寫寬字符到命令提示符
我能夠看到使用WriteConsoleW寫出字符。我也能夠看到字符,如果我使用WideCharToMultiByte使用CP_ACP代碼頁(chcp返回932:日語)。但是,當我嘗試在WriteConsoleW成功打印的相同字符串上使用常規wcout時,它會窒息。
當我執行setlocale(LC_ALL,「」)時,它會打印English_UnitedStates.1252(我安裝時的默認代碼頁)。
爲什麼wcout在其他人成功時失敗?
注:我重新啓動機器的系統區域設置更改爲日本
你曾經調用'std :: wcout.imbue()'來改變'wcout'的代碼頁嗎? – ildjarn 2011-04-21 23:30:16
工作。但是,當我重置系統區域設置時,爲什麼wcout的代碼頁不同?發表一個解釋,你會得到簡單的點。 – bogertron 2011-04-21 23:34:59