Објекат вцин у језику Ц ++ је објекат класе вистреам. Користи се за прихватање података са стандардног уређаја за унос, односно тастатуре. Повезан је са стандардним Ц улазним током стдин.
Разлика између вцин и цин
cin
корисници char
(уски знак) као тип карактера. Може се користити за АСЦИИ и АНСИ знакове.
За интернационализацију су нам потребни Уницоде низови који се не уклапају char
. wcin
користи wchar_t
(широк карактер) и употребљив је за Уницоде знакове.
вцин декларација
ектерн вистреам вцин;
Дефинисано је у датотеци заглавља "> датотека заглавља.
wcin
Објекат је осигуран бити иницијализовани току или прије први пут предмет типа ios_base::Init
се гради. Након што је wcin
објекат конструисан, wcin.tie()
враћа се, &wcout
што значи да било која форматирана операција уноса на вцин форсира позив wcout.flush()
ако су неки знакови на чекању за излаз.
Знак „вц“ у wcin
односи се на „широк знак“, а „ин“ значи „унос“, дакле wcin
значи „унос широког карактера“. wcin
Објекат се користи заједно са екстракције оператора (>>) да би добили ток знакова. Општа синтакса је:
вцин >> варНаме;
Оператор екстракције може се користити више пута да прихвати више улаза као:
вцин >> вар1 >> вар2 >>… >> варН;
wcin
Објекат се може користити и са другим функцијама чланицама попут getline()
, read()
итд Неке од најчешће коришћених функција чланица су:
wcin.get(wchar_t &ch):
Чита широк лик и чува га у гл.wcin.getline(wchar_t *buffer, int length):
Чита ток широких знакова у бафер низа, зауставља се када- има дужину читања-1 знакова или
- када пронађе знак за крај (' н') или крај датотеке.
wcin.read(wchar_t *buffer, int n):
Чита н бајтова (или до краја датотеке) из тока у бафер.wcin.ignore(int n):
Занемарује следећих н знакова из улазног тока.wcin.eof():
Враћа нула вриједност ако је достигнут крај датотеке (еоф).
Пример 1: вцин са оператором екстракције:
#include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )
Када покренете програм, могући излаз ће бити:
Унесите реч: катхманду катхманду
Пример 2: вцин са функцијом члана:
#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; )
Када покренете програм, могући излаз ће бити:
Унесите низ: програм помоћу вцина Унесите знак: х Стринг = програм помоћу вцина Цхарацтер = х
Будите опрезни
char16_t
и char32_t
, који су уведени у Ц ++ 11, препоручује се да се користе уместо тога wchar_t
јер wchar_t
су 16 битни на неким системима и 32 битни на неким другим. То отежава пренос.