Mencetak Nilai wchar_t ke Konsol
Apabila bekerja dengan nilai wchar_t, yang mewakili aksara lebar yang merangkumi berbilang bait, mencetaknya terus ke konsol menggunakan std::cout boleh menyebabkan nilai perenambelasan dipaparkan dan bukannya aksara yang dimaksudkan. Untuk mencetak rentetan wchar_t dengan betul, terdapat dua pendekatan yang disyorkan.
1. Gunakan std::wcout:
Strim std::wcout secara eksplisit mengendalikan aksara lebar, membenarkan pencetakan nilai wchar_t yang betul. Untuk menggunakan pendekatan ini, gantikan std::cout dengan std::wcout dalam kod anda:
wcout << ru << endl << en;
Ini akan mencetak rentetan "Привет" dan "Hello" dalam bahasa masing-masing.
2. Hantar secara eksplisit ke char:
Jika anda perlu menggunakan std::cout, anda boleh secara eksplisit menghantar nilai wchar_t ke char sebelum menulisnya ke konsol. Pendekatan ini kurang diutamakan tetapi boleh berguna jika std::wcout tidak tersedia:
cout << (char*)ru << endl << (char*)en;
Walau bagaimanapun, ambil perhatian bahawa kaedah ini mungkin tidak berfungsi dengan betul untuk aksara yang tidak boleh diwakili menggunakan pengekodan aksara lalai sistem anda .
Atas ialah kandungan terperinci Bagaimana untuk Mencetak Nilai wchar_t ke Konsol dengan Betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!