Drucken von wchar_t-Werten auf der Konsole
Wenn Sie mit wchar_t-Werten arbeiten, die breite Zeichen darstellen, die mehrere Bytes umfassen, werden diese direkt auf der Konsole gedruckt Konsole mit std::cout kann dazu führen, dass hexadezimale Werte anstelle der vorgesehenen Zeichen angezeigt werden. Um wchar_t-Strings korrekt zu drucken, gibt es zwei empfohlene Vorgehensweisen.
1. Verwenden Sie std::wcout:
Der std::wcout-Stream verarbeitet explizit breite Zeichen und ermöglicht so das korrekte Drucken von wchar_t-Werten. Um diesen Ansatz zu verwenden, ersetzen Sie std::cout durch std::wcout in Ihrem Code:
wcout << ru << endl << en;
Dadurch werden die Zeichenfolgen „Привет“ und „Hello“ in ihren jeweiligen Sprachen gedruckt.
2. Explizit in char umwandeln:
Wenn Sie std::cout verwenden müssen, können Sie die wchar_t-Werte explizit in char umwandeln, bevor Sie sie in die Konsole schreiben. Dieser Ansatz ist weniger vorzuziehen, kann aber nützlich sein, wenn std::wcout nicht verfügbar ist:
cout << (char*)ru << endl << (char*)en;
Beachten Sie jedoch, dass diese Methode möglicherweise nicht korrekt für Zeichen funktioniert, die nicht mit der Standardzeichenkodierung Ihres Systems dargestellt werden können .
Das obige ist der detaillierte Inhalt vonWie drucke ich wchar_t-Werte korrekt auf der Konsole?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!