C ++ wcin - Perpustakaan Standard C ++

Objek wcin di C ++ adalah objek kelas wistream. Ia digunakan untuk menerima input dari peranti input standard iaitu papan kekunci. Ia dikaitkan dengan aliran input C standard.

Perbezaan antara wcin dan cin

cinpengguna char(watak sempit) sebagai jenis watak. Ia boleh digunakan untuk watak ASCII dan ANSI.

Untuk pengantarabangsaan, kita memerlukan rentetan Unicode yang tidak sesuai char. wcinmenggunakan wchar_t(watak lebar) dan boleh digunakan untuk watak Unicode.

pengisytiharan wcin

 wistream luaran;

Ia ditakrifkan dalam header file "> header file.

The wcinobjek dipastikan akan dimulakan pada atau sebelum masa pertama objek jenis ios_base::Initdibina. Setelah wcinobjek dibina, wcin.tie()kembali &wcoutyang bermaksud bahawa setiap operasi input yang diformat pada wcin memaksa panggilan ke wcout.flush()jika ada watak yang belum selesai untuk output.

The "wc" in wcinmerujuk kepada "karakter lebar" dan 'in' bermaksud "input", oleh itu wcinbermaksud "input watak lebar". The wcinobjek digunakan bersama-sama dengan operator pengekstrakan (>>) untuk menerima aliran aksara. Sintaks umum adalah:

 wcin >> varName;

Pengendali pengekstrakan dapat digunakan lebih dari sekali untuk menerima banyak input sebagai:

 wcin >> var1 >> var2 >>… >> varN;

The wcinobjek juga boleh digunakan dengan fungsi ahli lain seperti getline(), read()dan lain-lain Beberapa fungsi ahli biasa digunakan ialah:

  • wcin.get(wchar_t &ch): Membaca watak yang luas dan menyimpannya di ch.
  • wcin.getline(wchar_t *buffer, int length): Membaca aliran watak yang luas ke dalam penyangga rentetan, Ia berhenti ketika
    • ia telah membaca panjang-1 aksara atau
    • apabila ia menemui watak akhir baris (' n') atau akhir fail.
  • wcin.read(wchar_t *buffer, int n): Membaca n bait (atau sehingga akhir fail) dari aliran ke penyangga.
  • wcin.ignore(int n): Mengabaikan watak n seterusnya dari aliran input.
  • wcin.eof(): Mengembalikan nilai bukan nol jika akhir fail (eof) tercapai.

Contoh 1: wcin dengan pengendali pengekstrakan:

 #include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )

Semasa anda menjalankan program, output yang mungkin adalah:

 Masukkan perkataan: kathmandu kathmandu

Contoh 2: wcin dengan fungsi ahli:

 #include using namespace std; int main() ( wchar_t str(50), ch; wcout << L"Enter a string: "; wcin.getline(str, 20); wcout << L"Enter a character: "; wcin.get(ch); wcout << L"String = " << str << endl; wcout << L"Character = " << ch << endl; return 0; )

Semasa anda menjalankan program, output yang mungkin adalah:

 Masukkan rentetan: program menggunakan wcin Masukkan watak: h String = program menggunakan wcin Character = h

Berhati-hati

char16_tdan char32_t, yang diperkenalkan di C ++ 11 disarankan untuk digunakan dan bukannya wchar_tkerana wchar_t16 bit pada beberapa sistem dan 32 bit pada yang lain. Ini menjadikannya sukar untuk dihantar.

Artikel menarik...