Objekt wcin u jeziku C ++ objekt je klase wistream. Koristi se za prihvaćanje unosa sa standardnog uređaja za unos, tj. Tipkovnice. Povezan je sa standardnim C ulaznim tokom stdin.
Razlika između wcina i cin
cin
korisnici char
(uski znak) kao tip znaka. Može se koristiti za ASCII i ANSI znakove.
Za internacionalizaciju trebamo Unicode nizove koji se ne uklapaju char
. wcin
koristi wchar_t
(široki znak) i uporabljiv je za Unicode znakove.
wcin deklaracija
extern wistream wcin;
Definirano je u datoteci zaglavlja "> datoteka zaglavlja.
Osigurano wcin
je da se objekt inicijalizira tijekom ili prije prvog ios_base::Init
konstruiranja objekta tipa . Nakon što je wcin
objekt konstruiran, wcin.tie()
vraća se, &wcout
što znači da bilo koja formatirana operacija unosa na wcinu prisiljava poziv wcout.flush()
ako su neki znakovi na čekanju za izlaz.
"Wc" u wcin
odnosi se na "širok znak", a "in" znači "unos", dakle wcin
znači "širok unos znakova". wcin
Objekt se koristi zajedno s ekstrakcije operatora (>>) kako bi dobio tok znakova. Općenita sintaksa je:
wcin >> varName;
Operator ekstrakcije može se koristiti više puta za prihvaćanje višestrukih ulaza kao:
wcin >> var1 >> var2 >> … >> varN;
wcin
Objekt se također može koristiti s drugim funkcijama državama, kao što su getline()
, read()
itd Neke od najčešće korištenih funkcija članica su:
wcin.get(wchar_t &ch):
Čita širok lik i pohranjuje ga u pogl.wcin.getline(wchar_t *buffer, int length):
Čita tok širokih znakova u međuspremnik niza, zaustavlja se kada- pročitao je duljinu-1 znakova ili
- kada pronađe znak kraja retka (' n') ili kraj datoteke.
wcin.read(wchar_t *buffer, int n):
Čita n bajtova (ili do kraja datoteke) iz toka u međuspremnik.wcin.ignore(int n):
Zanemaruje sljedećih n znakova iz ulaznog toka.wcin.eof():
Vraća nula vrijednost ako je dosegnut kraj datoteke (eof).
Primjer 1: wcin s operatorom ekstrakcije:
#include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )
Kada pokrenete program, mogući izlaz bit će:
Unesite riječ: kathmandu kathmandu
Primjer 2: wcin s funkcijom č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; )
Kada pokrenete program, mogući izlaz bit će:
Unesite niz: program pomoću wcina Unesite znak: h String = program pomoću wcina Character = h
Budi oprezan
char16_t
i char32_t
, koji su uvedeni u C ++ 11, preporuča se koristiti umjesto toga wchar_t
jer wchar_t
je 16-bitni na nekim sustavima i 32-bitni na nekim drugim. To otežava prijenos.