Wcin-objektet i C ++ er et objekt av klassen wistream. Den brukes til å godta inngangen fra standardinndataenheten, dvs. tastaturet. Den er assosiert med standard C-inngangsstrøm stdin.
Forskjellen mellom wcin og cin
cin
brukere char
(smalt tegn) som tegntype. Den kan brukes til ASCII- og ANSI-tegn.
For internasjonalisering trenger vi Unicode-strenger som ikke passer inn char
. wcin
bruker wchar_t
(bred karakter) og kan brukes til Unicode-tegn.
wcin-erklæring
ekstern wistream wcin;
Den er definert i topptekstfil "> topptekstfil.
Den wcin
gjenstand er sikret som skal initialiseres under eller før den første gang et objekt av typen ios_base::Init
er konstruert. Etter at wcin
objektet er konstruert, wcin.tie()
returnerer det, &wcout
noe som betyr at en hvilken som helst formatert inngangsoperasjon på wcin tvinger et anrop til wcout.flush()
om noen tegn venter på utdata.
"Wc" i wcin
refererer til "bred karakter" og "in" betyr "inngang", derav wcin
betyr "bred tegninngang". Den wcin
objektet brukes sammen med utvinning operatør (>>) for å motta en strøm av tegn. Den generelle syntaksen er:
wcin >> varName;
Utvinningsoperatøren kan brukes mer enn en gang til å akseptere flere innganger som:
wcin >> var1 >> var2 >>… >> varN;
Den wcin
gjenstand kan også benyttes sammen med andre medlemsfunksjoner som getline()
, read()
etc. Noen av de mest brukte medlemsfunksjoner er:
wcin.get(wchar_t &ch):
Les en bred karakter og lagre den i kap.wcin.getline(wchar_t *buffer, int length):
Leser en strøm av brede tegn inn i strengbufferen. Den stopper når- den har lest lengde-1 tegn eller
- når den finner et end-of-line-tegn (' n') eller slutten av filen.
wcin.read(wchar_t *buffer, int n):
Leser n byte (eller til slutten av filen) fra strømmen til bufferen.wcin.ignore(int n):
Ignorer de neste n tegnene fra inngangsstrømmen.wcin.eof():
Returnerer en ikke-null verdi hvis slutten på filen (eof) er nådd.
Eksempel 1: wcin med ekstraksjonsoperatør:
#include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )
Når du kjører programmet, vil en mulig utgang være:
Skriv inn et ord: kathmandu kathmandu
Eksempel 2: wcin med medlemsfunksjon:
#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; )
Når du kjører programmet, vil en mulig utgang være:
Skriv inn en streng: program ved hjelp av wcin Skriv inn et tegn: h Streng = program ved hjelp av wcin Tegn = h
Vær forsiktig
char16_t
og char32_t
som ble introdusert i C ++ 11 anbefales å brukes i stedet for wchar_t
fordi det wchar_t
er 16 bit på noen systemer og 32 bit på andre. Dette gjør det vanskelig å portere.