Обектът wcin в C ++ е обект от клас wistream. Използва се за приемане на входа от стандартното устройство за въвеждане, т.е. клавиатура. Той е свързан със стандартния C входен поток stdin.
Разлика между wcin и cin
cinпотребители char(тесен знак) като тип символ. Може да се използва за ASCII и ANSI символи.
За интернационализация се нуждаем от Unicode низове, които не се вписват char. wcinизползва wchar_t(широк знак) и е използваем за Unicode символи.
декларация на wcin
extern wistream wcin;
Определя се в заглавния файл "> заглавния файл.
В wcinобекта се осигурява да се инициализира по време на или преди първи път обект от тип ios_base::Initе конструирана. След като wcinобектът е конструиран, се wcin.tie()връща, &wcoutкоето означава, че всяка форматирана операция за въвеждане на wcin принуждава повикване, wcout.flush()ако някакви символи са чакащи за изход.
"Wc" в се wcinотнася до "широк знак", а "in" означава "въвеждане", следователно wcinозначава "широко въвеждане на символ". В wcinобекта се използва заедно с оператора на екстракция (>>), за да получи поток от символи. Общият синтаксис е:
wcin >> varName;
Операторът за извличане може да се използва повече от веднъж, за да приеме множество входове като:
wcin >> var1 >> var2 >> … >> varN;
На wcinобекта може да се използва с други функции на потребителя, като например getline(), read()и т.н. Някои от често използваните функции на потребителя са:
wcin.get(wchar_t &ch):Чете широк символ и го съхранява в гл.wcin.getline(wchar_t *buffer, int length):Чете поток от широки символи в буфера на низовете, Той спира, когато- той е чел дължина-1 знака или
- когато намери символ на края на реда (' n') или края на файла.
wcin.read(wchar_t *buffer, int n):Чете n байта (или до края на файла) от потока в буфера.wcin.ignore(int n):Игнорира следващите n символа от входния поток.wcin.eof():Връща ненулева стойност, ако е достигнат краят на файла (eof).
Пример 1: wcin с оператор за екстракция:
#include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )
Когато стартирате програмата, възможният изход ще бъде:
Въведете дума: катманду катманду
Пример 2: wcin с член функция:
#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; )
Когато стартирате програмата, възможният изход ще бъде:
Въведете низ: програма с помощта на wcin Въведете символ: h String = програма с помощта на wcin Character = h
Бъди внимателен
char16_tи char32_t, които бяха въведени в C ++ 11, се препоръчва да се използват вместо, wchar_tзащото wchar_tе 16 битов за някои системи и 32 битов за някои други. Това затруднява пренасянето.








