A C ++ fájlban található wcin objektum osztály wistream objektum. Arra szolgál, hogy elfogadja a bemenetet a szokásos beviteli eszközről, azaz a billentyűzetről. A szabványos C bemeneti adat stdinhez van társítva.
Különbség a wcin és a cin között
cin
felhasználók char
(keskeny karakter) karaktertípusként. Használható ASCII és ANSI karakterekhez.
A nemzetközivé váláshoz Unicode karakterláncokra van szükségünk, amelyek nem illenek bele char
. wcin
felhasználás wchar_t
(széles karakter), és használható Unicode karaktereket.
wcin nyilatkozat
extern wistream wcin;
A "header file"> header fájlban van meghatározva.
Az wcin
objektum inicializálása biztosított egy típusú objektum első ios_base::Init
építése során vagy azelőtt . Az wcin
objektum felépítése után wcin.tie()
visszatér, &wcout
ami azt jelenti, hogy a wcin bármilyen formázott beviteli művelete felhívást kezdeményez, wcout.flush()
ha bármilyen karakter vár kimenetre.
A "wc" az wcin
"széles karakterre" utal, és az "in" jelentése "bevitel", tehát wcin
"széles karakter bevitel". Az wcin
objektumot a kibontás operátorral (>>) együtt használják a karakterek áramának fogadására. Az általános szintaxis:
wcin >> varName;
Az extrakciós operátor többször is használható több bemenet elfogadására, mint:
wcin >> var1 >> var2 >>… >> varN;
A wcin
tárgy is fel lehet használni más tagja funkciók, mint például getline()
, read()
stb Néhány általánosan használt tag funkciók:
wcin.get(wchar_t &ch):
Széles karaktert olvas és tárolja ch-ben.wcin.getline(wchar_t *buffer, int length):
Széles karakteráramot olvas be a karakterlánc-pufferbe, amikor leáll- 1 karakter hosszúságú vagy
- amikor talál egy sorvégi karaktert (' n') vagy a fájl végét.
wcin.read(wchar_t *buffer, int n):
N bájtot olvas (vagy a fájl végéig) a folyamból a pufferbe.wcin.ignore(int n):
Figyelmen kívül hagyja a következő n karaktert a bemeneti adatfolyamból.wcin.eof():
Nem nulla értéket ad vissza, ha elérte a fájl végét (eof).
1. példa: wcin extrakciós operátorral:
#include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )
A program futtatásakor egy lehetséges kimenet lesz:
Írjon be egy szót: kathmandu kathmandu
2. példa: wcin tagfunkcióval:
#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; )
A program futtatásakor egy lehetséges kimenet lesz:
Írjon be egy karakterláncot: program a wcin használatával Írjon be egy karaktert: h String = program a wcin karakter használatával = h
Légy óvatos
char16_t
és char32_t
amelyeket a C ++ 11-ben vezettek be, ajánlott használni, wchar_t
mert wchar_t
egyes rendszerekben 16, másoknál 32 bites. Ez megnehezíti a portolást.