Objek wcin dalam C ++ adalah objek dari kelas wistream. Ini digunakan untuk menerima input dari perangkat input standar yaitu keyboard. Ini terkait dengan aliran input C standar stdin.
Perbedaan antara wcin dan cin
cin
pengguna char
(karakter sempit) sebagai tipe karakter. Ini dapat digunakan untuk karakter ASCII dan ANSI.
Untuk internasionalisasi, kita membutuhkan string Unicode yang tidak cocok char
. wcin
menggunakan wchar_t
(karakter lebar) dan dapat digunakan untuk karakter Unicode.
deklarasi wcin
wistream eksternal wcin;
Ini didefinisikan dalam file header "> file header.
The wcin
objek dipastikan akan diinisialisasi selama atau sebelum pertama kalinya sebuah objek dari tipe ios_base::Init
dibangun. Setelah wcin
objek dibangun, wcin.tie()
kembali &wcout
yang berarti bahwa setiap operasi input yang diformat pada wcin memaksa panggilan ke wcout.flush()
jika ada karakter yang menunggu untuk output.
The "wc" di wcin
mengacu pada "karakter lebar" dan 'in' berarti "masukan", maka wcin
berarti "masukan karakter lebar". The wcin
objek digunakan bersama dengan operator ekstraksi (>>) untuk menerima aliran karakter. Sintaks umumnya adalah:
wcin >> varName;
Operator ekstraksi dapat digunakan lebih dari satu kali untuk menerima banyak input sebagai:
wcin >> var1 >> var2 >>… >> varN;
The wcin
objek juga dapat digunakan dengan fungsi anggota lain seperti getline()
, read()
, dll Beberapa fungsi anggota yang umum digunakan adalah:
wcin.get(wchar_t &ch):
Membaca karakter yang luas dan menyimpannya di ch.wcin.getline(wchar_t *buffer, int length):
Membaca aliran karakter lebar ke dalam buffer string, Itu berhenti ketika- itu telah membaca panjang-1 karakter atau
- ketika menemukan karakter akhir baris (' n') atau akhir file.
wcin.read(wchar_t *buffer, int n):
Membaca n byte (atau hingga akhir file) dari aliran ke buffer.wcin.ignore(int n):
Mengabaikan karakter n berikutnya dari aliran input.wcin.eof():
Mengembalikan nilai bukan nol jika akhir file (eof) tercapai.
Contoh 1: wcin dengan operator ekstraksi:
#include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )
Saat Anda menjalankan program, output yang mungkin adalah:
Masukkan kata: kathmandu kathmandu
Contoh 2: wcin dengan fungsi anggota:
#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; )
Saat Anda menjalankan program, output yang mungkin adalah:
Masukkan string: program menggunakan wcin Masukkan karakter: h String = program menggunakan wcin Karakter = h
Hati-Hati
char16_t
dan char32_t
, yang diperkenalkan di C ++ 11 direkomendasikan untuk digunakan daripada wchar_t
karena wchar_t
16 bit di beberapa sistem dan 32 bit di beberapa sistem lainnya. Ini menyulitkan port.