Obiekt wcin w C ++ jest obiektem klasy wistream. Służy do akceptacji wejścia ze standardowego urządzenia wejściowego, np. Klawiatury. Jest on powiązany ze standardowym wejściem strumienia C.
Różnica między wcin i cin
cinużytkownicy char(wąski znak) jako typ znaku. Może być używany dla znaków ASCII i ANSI.
Do internacjonalizacji potrzebujemy ciągów Unicode, które nie pasują char. wcinużywa wchar_t(znak szeroki) i można go używać dla znaków Unicode.
deklaracja wcin
zewnętrznie wistream wcin;
Jest zdefiniowany w pliku nagłówkowym "> plik nagłówkowy.
wcinObiektu zapewnia być inicjowane w trakcie lub przed pierwszym obiektem typu ios_base::Initjest wykonana. Po wcinskonstruowaniu obiektu wcin.tie()zwraca, &wcoutco oznacza, że każda sformatowana operacja wejściowa w wcin wymusza wywołanie, wcout.flush()jeśli jakieś znaki oczekują na wyjście.
„Wc” in wcinodnosi się do „szerokiego znaku”, a „in” oznacza „wejście”, stąd wcinoznacza „wejście szerokiego znaku”. wcinPrzedmiot jest stosowane wraz z operatorem ekstrakcji (>>), aby otrzymać strumień znaków. Ogólna składnia to:
wcin >> varName;
Operator ekstrakcji może być użyty więcej niż jeden raz, aby zaakceptować wiele danych wejściowych, takich jak:
wcin >> var1 >> var2 >>… >> varN;
wcinObiekt może być również stosowany do innych funkcji składowych, takich jak getline(), read()itp Niektóre z powszechnie stosowanych funkcji składowych są następujące:
wcin.get(wchar_t &ch):Czyta szeroki znak i zapisuje go w rozdz.wcin.getline(wchar_t *buffer, int length):Odczytuje strumień szerokich znaków do bufora ciągów, zatrzymuje się, gdy- czyta długość znaków - 1 lub
 - gdy znajdzie znak końca linii („ n”) lub koniec pliku.
 
wcin.read(wchar_t *buffer, int n):Odczytuje n bajtów (lub do końca pliku) ze strumienia do bufora.wcin.ignore(int n):Ignoruje kolejnych n znaków ze strumienia wejściowego.wcin.eof():Zwraca wartość różną od zera, jeśli osiągnięto koniec pliku (eof).
Przykład 1: wcin z operatorem ekstrakcji:
 #include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )
Po uruchomieniu programu możliwe wyjście to:
Wpisz słowo: kathmandu kathmandu
Przykład 2: wcin z funkcją składową:
 #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 uruchomieniu programu możliwe wyjście to:
Wpisz ciąg: program używając wcin Wpisz znak: h String = program używając wcin Znak = h
Bądź ostrożny
char16_ti char32_t, które zostały wprowadzone w C ++ 11, są zalecane zamiast, wchar_tponieważ wchar_tw niektórych systemach są 16-bitowe, aw niektórych 32-bitowe. Utrudnia to przenoszenie.








