C ++ wcin - štandardná knižnica C ++

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

cinpouží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. wcinpouž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 wcinzaistené, že objekt je inicializovaný počas alebo pred prvou ios_base::Initkonštrukciou objektu typu . Po wcinzostrojení 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 wcinznamená „široký znak“ a „in“ znamená „vstup“, teda wcinznamená „široký znakový vstup“. wcinObjekt 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;

wcinObjekt 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_ta char32_tktoré boli zavedené v C ++ 11, sa odporúčajú používať namiesto toho, wchar_tpretože wchar_tje 16 bitový v niektorých systémoch a 32 bitový v niektorých iných. To sťažuje prenos.

Zaujímavé články...