wchar_t 値をコンソールに出力する
複数のバイトを含むワイド文字を表す wchar_t 値を操作する場合、それらの値をコンソールに直接出力します。 std::cout を使用するコンソールでは、意図した文字の代わりに 16 進値が表示される場合があります。 wchar_t 文字列を正しく出力するには、2 つの推奨アプローチがあります。
1. std::wcout:
を使用する std::wcout ストリームはワイド文字を明示的に処理し、wchar_t 値を正しく出力できるようにします。このアプローチを使用するには、コード内の std::cout を std::wcout に置き換えます。
wcout << ru << endl << en;
これにより、「Привет」と「Hello」の文字列がそれぞれの言語で出力されます。
2. char:
への明示的なキャスト std::cout を使用する必要がある場合は、wchar_t 値をコンソールに書き込む前に明示的に char にキャストできます。この方法はあまり好ましくありませんが、 std::wcout が利用できない場合に役立ちます:
cout << (char*)ru << endl << (char*)en;
ただし、この方法は、システムのデフォルトの文字エンコーディングを使用して表現できない文字に対しては正しく機能しない可能性があることに注意してください。 .
以上がwchar_t 値をコンソールに正しく出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。