C ++ wcin - C ++ стандартна библиотека

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

Интересни статии...