Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memasukkan aksara Cina dalam c++

Bagaimana untuk memasukkan aksara Cina dalam c++

下次还敢
下次还敢asal
2024-05-09 04:12:20287semak imbas

Terdapat tiga cara untuk memasukkan aksara Cina dalam C++: Gunakan strim std::wcin, yang digunakan khas untuk memasukkan aksara berbilang bait. Gunakan cin.imbue() untuk mengaitkan strim ke tempat tertentu, seperti zh_CN.UTF-8. Tukar aksara Cina yang tidak dikodkan UTF-8 kepada aksara lebar menggunakan fungsi penukaran tersuai.

Bagaimana untuk memasukkan aksara Cina dalam c++

Cara memasukkan aksara Cina dalam C++

Pengenalan:
Memasukkan aksara Cina dalam C++ memerlukan berurusan dengan pengekodan aksara berbilang bait. Artikel ini akan meneroka kaedah biasa, termasuk menggunakan std::wcin, cin.imbue(), dan fungsi penukaran tersuai.

Menggunakan std::wcin:
std:: strim wcin digunakan untuk memasukkan aksara lebar, iaitu aksara berbilang bait. Ia boleh menerima aksara Cina yang dikodkan UTF-16 atau UTF-32.

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

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

Menggunakan cin.imbue(): Fungsi
cin.imbue() boleh mengaitkan strim ke tempat tertentu yang menentukan pengekodan aksara. Untuk input aksara Cina, anda boleh menggunakan zh_CN.UTF-8 atau tempat lain yang menyokong pengekodan UTF-8.

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

Gunakan fungsi penukaran tersuai:
Untuk aksara Cina yang tidak dikodkan UTF-8, anda boleh menggunakan fungsi penukaran tersuai untuk menukar aksara berbilang bait kepada aksara lebar. Ambil pengekodan GB2312 sebagai contoh:

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

Atas ialah kandungan terperinci Bagaimana untuk memasukkan aksara Cina dalam c++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Penggunaan kelas dalam c++Artikel seterusnya:Penggunaan kelas dalam c++