Обектът 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 битов за някои други. Това затруднява пренасянето.