Heim > Backend-Entwicklung > C++ > Wie kann ich Unicode-Zeichen in C erfolgreich drucken?

Wie kann ich Unicode-Zeichen in C erfolgreich drucken?

Patricia Arquette
Freigeben: 2024-12-09 20:28:12
Original
642 Leute haben es durchsucht

How Can I Successfully Print Unicode Characters in C  ?

Drucken von Unicode-Zeichen in C

Versuch, ein Unicode-Zeichen wie den russischen kyrillischen Buchstaben „ф“ (U 0444) zu drucken, kann in C eine Herausforderung sein. In diesem Artikel wird erläutert, wie Sie Unicode-Zeichen mit C-Methoden erfolgreich drucken können.

Verwendung von Universal Character Names (UCNs)

Die einfachste Methode ist die Verwendung von Universal Character Names (UCNs). ). Beispielsweise hat das Zeichen „ф“ den Unicode-Wert U 0444. In C können Sie dies als „u0444“ oder „U00000444“ darstellen.

int main() {
    wchar_t f = '\u0444';
    cout << f << endl;
}
Nach dem Login kopieren

Verwendung von Codierungen

Wenn Ihre Quellcode-Kodierung das gewünschte Zeichen unterstützt, können Sie es direkt in Ihrem Code verwenden. Beispielsweise ist in der UTF-8-Codierung das Zeichen „ф“ „u0444“.

char b = '\u0444';
Nach dem Login kopieren

Drucken auf Terminalemulatoren

Drucken von Unicode-Zeichen auf einem Terminal Emulator hängt von der Codierung des Emulators und der Kompatibilität mit der Ausführungscodierung des Compilers ab. Wenn sie übereinstimmen, ist die Verwendung von std::cout ausreichend.

int main() {
    std::cout << "Hello, ф or \u0444!\n";
}
Nach dem Login kopieren

Umgang mit Windows-Besonderheiten

Das Arbeiten mit Windows erfordert zusätzliche Überlegungen. Ein Ansatz besteht darin, das Ausgabedatei-Handle mit _setmode() auf UTF-16 zu setzen.

#include <iostream>
#include <io.h>
#include <fcntl.h>

int main() {
    _setmode(_fileno(stdout), _O_U16TEXT);
    std::wcout << L"Hello, \u0444!\n";
}
Nach dem Login kopieren

Alternativ können Sie aus Gründen der Portabilität Wide-Strings (wchar_t) verwenden und in den Wide-Stream schreiben (std:: wcout) direkt.

int main() {
    wchar_t f = L'\u0444'; // Prepend L to denote wide char literal
    wcout << f << endl;
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Unicode-Zeichen in C erfolgreich drucken?. 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