C ++ wcin - Libreria standard C ++

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.

Articoli interessanti...