C ++ wcin - C ++ Standardbibliotek

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

cinbrukere char(smalt tegn) som tegntype. Den kan brukes til ASCII- og ANSI-tegn.

For internasjonalisering trenger vi Unicode-strenger som ikke passer inn char. wcinbruker wchar_t(bred karakter) og kan brukes til Unicode-tegn.

wcin-erklæring

 ekstern wistream wcin;

Den er definert i topptekstfil "> topptekstfil.

Den wcingjenstand er sikret som skal initialiseres under eller før den første gang et objekt av typen ios_base::Initer konstruert. Etter at wcinobjektet er konstruert, wcin.tie()returnerer det, &wcoutnoe 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 wcinrefererer til "bred karakter" og "in" betyr "inngang", derav wcinbetyr "bred tegninngang". Den wcinobjektet 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 wcingjenstand 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_tog char32_tsom ble introdusert i C ++ 11 anbefales å brukes i stedet for wchar_tfordi det wchar_ter 16 bit på noen systemer og 32 bit på andre. Dette gjør det vanskelig å portere.

Interessante artikler...