1
我一直在用C++打印中文字符。我已經在互聯網上搜索過,有人說你必須使用wcout
,其他人提出了其他方法。我還無意中發現了this post,如果有人使用了一段代碼:在C++中打印中文字符
#include <iostream>
int main()
{
char x[] = "中";
char y[] = u8"中";
wchar_t z = L'中';
char16_t b = u'\u4e2d';
char32_t a = U'\U00004e2d';
std::cout << x << '\n';
std::cout << y << '\n';
std::wcout << z << '\n';
std::cout << a << '\n';
std::cout << b << '\n';
}
當中,對互聯網網站,顯示的C++代碼的輸出,打印:
中
中
-
20013
20013
但是,對我來說它只是打印
õ©¡
õ©¡
20013
20013
我使用JetBrains CLion,編碼設置爲UTF-8。但是,我也嘗試過Visual Studio和QT Creator,我得到了相同的結果。我希望有人能幫助我。
問題來自終端(其中cout寫入)不使用所有可能的符號,而只是整個Unicode的一個子集。 – Ripi2
[如何在C++中打印Unicode字符?](https://stackoverflow.com/questions/12015571/how-to-print-unicode-character-in-c) – Ripi2