Heim  >  Artikel  >  Backend-Entwicklung  >  So geben Sie chinesische Zeichen in C++ ein

So geben Sie chinesische Zeichen in C++ ein

下次还敢
下次还敢Original
2024-05-09 04:12:20285Durchsuche

Es gibt drei Möglichkeiten, chinesische Zeichen in C++ einzugeben: Verwenden Sie den Stream std::wcin, der speziell für die Eingabe von Multibyte-Zeichen verwendet wird. Verwenden Sie cin.imbue(), um den Stream einem bestimmten Gebietsschema zuzuordnen, z. B. zh_CN.UTF-8. Konvertieren Sie nicht UTF-8-codierte chinesische Zeichen mithilfe einer benutzerdefinierten Konvertierungsfunktion in Breitzeichen.

So geben Sie chinesische Zeichen in C++ ein

So geben Sie chinesische Zeichen in C++ ein

Einführung:
Die Eingabe chinesischer Zeichen in C++ erfordert den Umgang mit der Multibyte-Zeichenkodierung. In diesem Artikel werden gängige Methoden untersucht, einschließlich der Verwendung von std::wcin, cin.imbue() und benutzerdefinierten Konvertierungsfunktionen.

Verwendung von std::wcin:
std::wcin-Stream wird zur Eingabe von Breitzeichen, d. h. Multibyte-Zeichen, verwendet. Es kann UTF-16- oder UTF-32-codierte chinesische Zeichen empfangen.

<code class="cpp">#include <iostream>

int main() {
  wchar_t ch;
  std::wcin >> ch;
  std::cout << ch << std::endl;
  return 0;
}</code>

Verwendung von cin.imbue(): Die Funktion
cin.imbue() kann einen Stream einem bestimmten Gebietsschema zuordnen, das die Zeichenkodierung angibt. Für die Eingabe chinesischer Zeichen können Sie zh_CN.UTF-8 oder andere Gebietsschemas verwenden, die die UTF-8-Codierung unterstützen.

<code class="cpp">#include <iostream>
#include <locale>

int main() {
  std::cin.imbue(std::locale("zh_CN.UTF-8"));
  char ch;
  std::cin >> ch;
  std::cout << ch << std::endl;
  return 0;
}</code>

Benutzerdefinierte Konvertierungsfunktion verwenden:
Für nicht UTF-8-codierte chinesische Zeichen können Sie die benutzerdefinierte Konvertierungsfunktion verwenden, um Multibyte-Zeichen in Breitzeichen umzuwandeln. Nehmen Sie als Beispiel die GB2312-Kodierung:

<code class="cpp">#include <iostream>
#include <codecvt>

std::wstring gb2312_to_wstring(const char* gb2312) {
  std::codecvt_utf8<wchar_t> cvt;
  std::wstring_convert<std::codecvt_utf8<wchar_t>> conv;
  return conv.from_bytes(gb2312);
}

int main() {
  char gb2312[] = "你好";
  std::wstring wstr = gb2312_to_wstring(gb2312);
  std::wcout << wstr << std::endl;
  return 0;
}</code>

Das obige ist der detaillierte Inhalt vonSo geben Sie chinesische Zeichen in C++ ein. 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
Vorheriger Artikel:Verwendung der Klasse in C++Nächster Artikel:Verwendung der Klasse in C++