Heim > Backend-Entwicklung > C++ > Wie kann ich mit C Unicode-Zeichen in der Windows-Konsole korrekt anzeigen?

Wie kann ich mit C Unicode-Zeichen in der Windows-Konsole korrekt anzeigen?

Susan Sarandon
Freigeben: 2024-12-01 19:29:11
Original
534 Leute haben es durchsucht

How Can I Display Unicode Characters Correctly in the Windows Console Using C  ?

So zeigen Sie Unicode-Zeichen in der Windows-Konsole mit C an

Problemübersicht

Beim Versuch, Unicode-Zeichen mit cout in C an die Windows-Konsole auszugeben werden stattdessen seltsame Zeichen angezeigt. Warum tritt das auf und ist es möglich, Unicode-Zeichen korrekt anzuzeigen?

Lösung

Das Problem ergibt sich aus dem Standardverhalten der Windows-Konsole, die keine Unicode-Ausgaben verarbeitet. Um dieses Problem zu beheben, kann der Breitzeichen-Ausgabestream std::wcout anstelle von cout verwendet werden.

#include <iostream>

int main() {
    std::wcout << L"Hello World!" << std::endl;
    return 0;
}
Nach dem Login kopieren

Selbst mit std::wcout kann die Konsole jedoch möglicherweise immer noch keine Unicode-Ausgaben verarbeiten. Um dieses Problem zu beheben, kann die Konsole manuell konfiguriert werden.

Manuelle Konfigurationsoptionen

So konfigurieren Sie die Konsole manuell:

  • Führen Sie cmd mit /u aus Argument: Dies aktiviert die Unicode-Unterstützung beim Starten der Eingabeaufforderung.
  • Rufen Sie chcp auf 65001: Dadurch wird das Ausgabeformat geändert, um Unicode zu unterstützen.
  • Legen Sie eine Unicode-Schriftart in der Konsole fest: Schriftarten wie Lucida Console Unicode bieten eine bessere Unterstützung für Unicode-Zeichen.

Alternative Lösung

Eine andere Lösung ist die Verwendung _setmode(_fileno(stdout), _O_U16TEXT);. Diese Funktion erfordert die Einbindung von fcntl.h und io.h und ermöglicht dem Ausgabestream die Verarbeitung von Unicode-Zeichen.

Das obige ist der detaillierte Inhalt vonWie kann ich mit C Unicode-Zeichen in der Windows-Konsole korrekt anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage