C ++ wcin - Standardna knjižnica C ++

Objekt wcin v jeziku C ++ je predmet razreda wistream. Uporablja se za sprejem vnosa s standardne vhodne naprave, tj. S tipkovnice. Povezan je s standardnim vhodnim tokom C stdin.

Razlika med wcin in cin

cinuporabniki char(ozek znak) kot tip znaka. Uporablja se lahko za znake ASCII in ANSI.

Za internacionalizacijo potrebujemo nize Unicode, ki ne ustrezajo char. wcinuporablja wchar_t(širok znak) in je uporaben za znake Unicode.

wcin deklaracija

 zunanji wistream wcin;

Določen je v datoteki glave "> datoteka glave.

Zagotovljeno wcinje, da se objekt inicializira med ali pred prvim ios_base::Initkonstruiranjem objekta tipa . Ko je wcinobjekt konstruiran, se wcin.tie()vrne, &wcoutkar pomeni, da vsaka formatirana vhodna operacija v sistemu wcin prisili klic, wcout.flush()če kakšen znak čaka na izhod.

"Wc" v se wcinnanaša na "širok znak", "in" pa pomeni "vnos", torej wcinpomeni "širok vnos znakov". wcinObjekt se uporablja skupaj z upravljavcem ekstrakcije (>>), da bi dobili tok znakov. Splošna sintaksa je:

 wcin >> varName;

Operator ekstrakcije je mogoče večkrat uporabiti za sprejem več vhodov kot:

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

wcinObjekt se lahko uporablja tudi z drugimi funkcijami države, kot so getline(), read()itd Nekateri izmed pogosto uporabljanih funkcij države so:

  • wcin.get(wchar_t &ch): Prebere širok znak in ga shrani v pogl.
  • wcin.getline(wchar_t *buffer, int length): Prebere tok širokih znakov v medpomnilnik nizov in se ustavi, ko
    • je prebral dolžino-1 znakov oz
    • ko najde znak za konec vrstice (' n') ali konec datoteke.
  • wcin.read(wchar_t *buffer, int n): Prebere n bajtov (ali do konca datoteke) iz toka v vmesni pomnilnik.
  • wcin.ignore(int n): Prezre naslednjih n znakov iz vhodnega toka.
  • wcin.eof(): Vrne ničelno vrednost, če je dosežen konec datoteke (eof).

Primer 1: wcin z operaterjem ekstrakcije:

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

Ko zaženete program, bo možen izhod:

 Vnesite besedo: kathmandu kathmandu

Primer 2: wcin s funkcijo člana:

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

Ko zaženete program, bo možen izhod:

 Vnesite niz: program z uporabo wcina Vnesite znak: h String = program z uporabo wcina Znak = h

Bodi previden

char16_tin char32_t, ki so bili uvedeni v jeziku C ++ 11, je priporočljivo uporabljati namesto tega, wchar_tker wchar_tje pri nekaterih sistemih 16-bitni, pri nekaterih pa 32-bitni. To otežuje prenos vrat.

Zanimive Članki...