C ++ wcin - Biblioteca standard C ++

Obiectul wcin din C ++ este un obiect al clasei wistream. Se utilizează pentru a accepta intrarea de pe dispozitivul de intrare standard, adică de la tastatură. Este asociat cu fluxul standard de intrare C stdin.

Diferența dintre wcin și cin

cinutilizatori char(caracter îngust) ca tip de caracter. Poate fi folosit pentru caractere ASCII și ANSI.

Pentru internaționalizare, avem nevoie de șiruri Unicode care nu se potrivesc char. wcinfolosește wchar_t(caracter larg) și este utilizabil pentru caracterele Unicode.

declaratie wcin

 extern wistream wcin;

Este definit în fișierul antet "> fișierul antet.

wcinObiectul este asigurat inițializat în timpul sau înainte de prima dată când un obiect de tip ios_base::Initeste construit. După ce wcinobiectul este construit, wcin.tie()returnează &wcoutceea ce înseamnă că orice operațiune de intrare formatată pe wcin forțează un apel în wcout.flush()cazul în care există caractere în așteptare pentru ieșire.

„Wc” in wcinse referă la „caracter larg” și „in” înseamnă „intrare”, deci wcinînseamnă „intrare caracter larg”. wcinObiectul este utilizat împreună cu operatorul de extracție (>>) pentru a primi un flux de caractere. Sintaxa generală este:

 wcin >> varName;

Operatorul de extracție poate fi folosit de mai multe ori pentru a accepta mai multe intrări ca:

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

wcinObiectul poate fi folosit și cu alte funcții membre , cum ar fi getline(), read()etc. Unele dintre funcțiile de membru utilizate în mod obișnuit sunt:

  • wcin.get(wchar_t &ch): Citește un caracter larg și stochează-l în cap.
  • wcin.getline(wchar_t *buffer, int length): Citește un flux de caractere largi în bufferul de șiruri, se oprește când
    • a citit lungimea-1 caractere sau
    • când găsește un caracter de sfârșit de linie (' n') sau sfârșitul fișierului.
  • wcin.read(wchar_t *buffer, int n): Citește n octeți (sau până la sfârșitul fișierului) din flux în buffer.
  • wcin.ignore(int n): Ignoră următoarele n caractere din fluxul de intrare.
  • wcin.eof(): Returnează o valoare diferită de zero dacă se ajunge la sfârșitul fișierului (eof).

Exemplul 1: wcin cu operator de extracție:

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

Când rulați programul, o posibilă ieșire va fi:

 Introduceți un cuvânt: kathmandu kathmandu

Exemplul 2: wcin cu funcție membru:

 #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; )

Când rulați programul, o posibilă ieșire va fi:

 Introduceți un șir: program folosind wcin Introduceți un caracter: h Șir = program utilizând wcin Caracter = h

Ai grija

char16_tși char32_t, care au fost introduse în C ++ 11, se recomandă să fie utilizate în loc de wchar_tdeoarece wchar_teste de 16 biți pe unele sisteme și 32 de biți pe altele. Acest lucru face dificilă portarea.

Articole interesante...