L'oggetto wcin in C ++ è un oggetto della classe wistream. Viene utilizzato per accettare l'input dal dispositivo di input standard, ovvero la tastiera. È associato allo standard C input stream stdin.
Differenza tra wcin e cin
cinutenti char(carattere stretto) come tipo di carattere. Può essere utilizzato per i caratteri ASCII e ANSI.
Per l'internazionalizzazione, abbiamo bisogno di stringhe Unicode che non si adattano char. wcinutilizza wchar_t(carattere ampio) ed è utilizzabile per i caratteri Unicode.
dichiarazione wcin
wcin wistream esterno;
È definito nel file di intestazione "> file di intestazione.
Si wcingarantisce che l' oggetto venga inizializzato durante o prima della prima costruzione di un oggetto di tipo ios_base::Init. Dopo che l' wcinoggetto è stato costruito, wcin.tie()restituisce il &wcoutche significa che qualsiasi operazione di input formattata su wcin forza una chiamata a wcout.flush()se ci sono caratteri in sospeso per l'output.
Il "wc" in si wcinriferisce a "carattere ampio" e "in" significa "input", quindi wcinsignifica "input di carattere ampio". L' wcinoggetto viene utilizzato insieme all'operatore di estrazione (>>) per ricevere un flusso di caratteri. La sintassi generale è:
wcin >> varName;
L'operatore di estrazione può essere utilizzato più di una volta per accettare più input come:
wcin >> var1 >> var2 >>… >> varN;
L' wcinoggetto può essere utilizzato anche con altri funzioni membro come getline(), read()ecc Alcune delle funzioni membro comunemente utilizzati sono:
wcin.get(wchar_t &ch):Legge un carattere ampio e lo memorizza nel cap.wcin.getline(wchar_t *buffer, int length):Legge un flusso di caratteri larghi nel buffer delle stringhe, si ferma quando- ha letto 1 caratteri di lunghezza o
- quando trova un carattere di fine riga (' n') o la fine del file.
wcin.read(wchar_t *buffer, int n):Legge n byte (o fino alla fine del file) dal flusso nel buffer.wcin.ignore(int n):Ignora i successivi n caratteri dal flusso di input.wcin.eof():Restituisce un valore diverso da zero se viene raggiunta la fine del file (eof).
Esempio 1: wcin con operatore di estrazione:
#include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )
Quando esegui il programma, un possibile output sarà:
Immettere una parola: kathmandu kathmandu
Esempio 2: wcin con funzione membro:
#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; )
Quando esegui il programma, un possibile output sarà:
Immettere una stringa: programma che utilizza wcin Immettere un carattere: h Stringa = programma che utilizza wcin Carattere = h
Stai attento
char16_te char32_t, che sono stati introdotti in C ++ 11, si consiglia di utilizzare invece di wchar_tperché wchar_tè a 16 bit su alcuni sistemi e 32 bit su altri. Ciò rende difficile il porting.








