Objekt wcin v C ++ je objektom triedy wistream. Používa sa na prijatie vstupu zo štandardného vstupného zariadenia, tj. Z klávesnice. Je spojená so štandardným štandardným vstupným prúdom C.
Rozdiel medzi wcin a cin
cin
používateľov char
(úzky znak) ako typ znaku. Môže byť použitý pre znaky ASCII a ANSI.
Pre internacionalizáciu potrebujeme reťazce Unicode, ktoré sa nezmestia char
. wcin
použitia wchar_t
(široký znak) a je použiteľný pre znaky Unicode.
wcin deklarácia
extern wistream wcin;
Je definované v hlavičkovom súbore.
Je wcin
zaistené, že objekt je inicializovaný počas alebo pred prvou ios_base::Init
konštrukciou objektu typu . Po wcin
zostrojení objektu sa wcin.tie()
vráti, &wcout
čo znamená, že akákoľvek formátovaná vstupná operácia na wcine vynúti volanie, wcout.flush()
ak nejaké znaky čakajú na výstup.
„Wc“ v wcin
znamená „široký znak“ a „in“ znamená „vstup“, teda wcin
znamená „široký znakový vstup“. wcin
Objekt sa používa spolu s prevádzkovateľom extrakcie (>>) s cieľom získať prúd znakov. Všeobecná syntax je:
wcin >> varName;
Operátor extrakcie je možné použiť viackrát na prijatie viacerých vstupov ako:
wcin >> var1 >> var2 >>… >> varN;
wcin
Objekt môže byť tiež použitý s inými členské funkcie, ako je napríklad getline()
, read()
atď Niektoré bežne používané členské funkcie sú:
wcin.get(wchar_t &ch):
Prečíta široký znak a uloží ho do ch.wcin.getline(wchar_t *buffer, int length):
Číta prúd širokých znakov do medzipamäte reťazca. Zastaví sa, keď- má prečítanú dĺžku - 1 znak alebo
- keď nájde znak konca riadku (' n') alebo koniec súboru.
wcin.read(wchar_t *buffer, int n):
Číta n bajtov (alebo do konca súboru) z toku do medzipamäte.wcin.ignore(int n):
Ignoruje ďalších n znakov zo vstupného toku.wcin.eof():
Vráti nenulovú hodnotu, ak je dosiahnutý koniec súboru (eof).
Príklad 1: wcin s operátorom extrakcie:
#include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )
Po spustení programu bude možný výstup:
Zadajte slovo: kathmandu kathmandu
Príklad 2: wcin s členskou funkciou:
#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; )
Po spustení programu bude možný výstup:
Zadajte reťazec: program pomocou wcin Zadajte znak: h String = program pomocou wcin Character = h
Buď opatrný
char16_t
a char32_t
ktoré boli zavedené v C ++ 11, sa odporúčajú používať namiesto toho, wchar_t
pretože wchar_t
je 16 bitový v niektorých systémoch a 32 bitový v niektorých iných. To sťažuje prenos.