下面的代碼:在wcin獲取錯誤的字符輸入?
#include <iostream>
using std::wcin;
using std::wcout;
using std::locale;
int main()
{
locale::global(locale("Portuguese_Brazil"));
wcout << "wcin Test using \"ção\": "; // shows that wcout works properly
wchar_t wcinTest[] = L"";
wcin >> wcinTest;
wcout << wcinTest << " should be \"ção\".";
return 0;
}
結果:
wcin Test using "ção": ção
╬Æo should be "ção".
的╬字符是U + 2021或8225,且C是U + 00E7或231
我改變MULT字節選項,在項目屬性中設置和不設置UNICODE。沒有工作。
我已經將控制檯字體設置爲Consolas,它是一種能夠正確顯示ç字符的真正的字體。
我希望這可以作爲將來的UNICODE控制檯應用程序的標準做法,使其簡單和可重複使用。
任何想法?
CP1252不是unicode。 – ssegvic 2016-02-05 10:36:02
我同意,但它解決了我的具體問題,即使我不得不放棄utf8。更好,控制檯只需要使用unicode字體 – orlando2bjr 2016-03-11 10:53:20