Heim > Backend-Entwicklung > C++ > Hauptteil

So geben Sie chinesische Zeichen in C++ ein

下次还敢
Freigeben: 2024-05-09 04:12:20
Original
370 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Verwandte Etiketten:
c++
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage