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
cin
pengguna char
(watak sempit) sebagai jenis watak. Ia boleh digunakan untuk watak ASCII dan ANSI.
Untuk pengantarabangsaan, kita memerlukan rentetan Unicode yang tidak sesuai char
. wcin
menggunakan wchar_t
(watak lebar) dan boleh digunakan untuk watak Unicode.
pengisytiharan wcin
wistream luaran;
Ia ditakrifkan dalam header file "> header file.
The wcin
objek dipastikan akan dimulakan pada atau sebelum masa pertama objek jenis ios_base::Init
dibina. Setelah wcin
objek dibina, wcin.tie()
kembali &wcout
yang 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 wcin
merujuk kepada "karakter lebar" dan 'in' bermaksud "input", oleh itu wcin
bermaksud "input watak lebar". The wcin
objek 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 wcin
objek 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_t
dan char32_t
, yang diperkenalkan di C ++ 11 disarankan untuk digunakan dan bukannya wchar_t
kerana wchar_t
16 bit pada beberapa sistem dan 32 bit pada yang lain. Ini menjadikannya sukar untuk dihantar.