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
cin
uporabniki char
(ozek znak) kot tip znaka. Uporablja se lahko za znake ASCII in ANSI.
Za internacionalizacijo potrebujemo nize Unicode, ki ne ustrezajo char
. wcin
uporablja wchar_t
(širok znak) in je uporaben za znake Unicode.
wcin deklaracija
zunanji wistream wcin;
Določen je v datoteki glave "> datoteka glave.
Zagotovljeno wcin
je, da se objekt inicializira med ali pred prvim ios_base::Init
konstruiranjem objekta tipa . Ko je wcin
objekt konstruiran, se wcin.tie()
vrne, &wcout
kar pomeni, da vsaka formatirana vhodna operacija v sistemu wcin prisili klic, wcout.flush()
če kakšen znak čaka na izhod.
"Wc" v se wcin
nanaša na "širok znak", "in" pa pomeni "vnos", torej wcin
pomeni "širok vnos znakov". wcin
Objekt 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;
wcin
Objekt 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_t
in char32_t
, ki so bili uvedeni v jeziku C ++ 11, je priporočljivo uporabljati namesto tega, wchar_t
ker wchar_t
je pri nekaterih sistemih 16-bitni, pri nekaterih pa 32-bitni. To otežuje prenos vrat.