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
cin
utilizatori 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
. wcin
foloseș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.
wcin
Obiectul este asigurat inițializat în timpul sau înainte de prima dată când un obiect de tip ios_base::Init
este construit. După ce wcin
obiectul este construit, wcin.tie()
returnează &wcout
ceea 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 wcin
se referă la „caracter larg” și „in” înseamnă „intrare”, deci wcin
înseamnă „intrare caracter larg”. wcin
Obiectul 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;
wcin
Obiectul 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_t
deoarece wchar_t
este de 16 biți pe unele sisteme și 32 de biți pe altele. Acest lucru face dificilă portarea.