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

Wie kann ich Unicode-Zeichen in C erfolgreich drucken?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-09 20:28:12722Durchsuche

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;
}

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';

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";
}

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";
}

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;
}

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!

Stellungnahme:
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