Das wcin-Objekt in C ++ ist ein Objekt der Klasse wistream. Es wird verwendet, um die Eingabe vom Standardeingabegerät, dh der Tastatur, zu akzeptieren. Es ist dem Standard-C-Eingabestream stdin zugeordnet.
Unterschied zwischen wcin und cin
cinBenutzer char(schmales Zeichen) als Zeichentyp. Es kann für ASCII- und ANSI-Zeichen verwendet werden.
Für die Internationalisierung benötigen wir Unicode-Strings, die nicht passen char. wcinverwendet wchar_t(breites Zeichen) und kann für Unicode-Zeichen verwendet werden.
wcin Erklärung
externer Wistream wcin;
Es ist in der Header-Datei "> Header-Datei definiert.
Es wcinwird sichergestellt, dass das Objekt während oder vor der ersten ios_base::InitErstellung eines Objekttyps initialisiert wird. Nachdem das wcinObjekt aufgebaut ist, wcin.tie()kehrt &wcoutdas bedeutet , dass jede Betätigungseingabe auf formatiertem WCIN Kräfte ein Aufruf , wcout.flush()wenn irgendwelche Zeichen für die Ausgabe anstehen.
Das "wc" in wcinbezieht sich auf "breites Zeichen" und "in" bedeutet "Eingabe", wcinbedeutet daher "breite Zeicheneingabe". Das wcinObjekt wird zusammen mit dem Extraktionsoperator (>>) verwendet, um einen Zeichenstrom zu empfangen. Die allgemeine Syntax lautet:
wcin >> varName;
Der Extraktionsoperator kann mehrmals verwendet werden, um mehrere Eingaben zu akzeptieren:
wcin >> var1 >> var2 >>… >> varN;
Das wcinObjekt kann auch mit anderen Elementfunktionen verwendet werden , wie getline(), read()usw. Einige der häufig verwendeten Elementfunktionen sind:
wcin.get(wchar_t &ch):Liest ein breites Zeichen und speichert es in ch.wcin.getline(wchar_t *buffer, int length):Liest einen Strom breiter Zeichen in den Zeichenfolgenpuffer. Es stoppt, wenn- es hat Länge-1 Zeichen oder gelesen
- wenn ein Zeilenendezeichen (' n') oder das Dateiende gefunden wird.
wcin.read(wchar_t *buffer, int n):Liest n Bytes (oder bis zum Ende der Datei) aus dem Stream in den Puffer.wcin.ignore(int n):Ignoriert die nächsten n Zeichen aus dem Eingabestream.wcin.eof():Gibt einen Wert ungleich Null zurück, wenn das Dateiende (eof) erreicht ist.
Beispiel 1: wcin mit Extraktionsoperator:
#include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )
Wenn Sie das Programm ausführen, ist eine mögliche Ausgabe:
Geben Sie ein Wort ein: kathmandu kathmandu
Beispiel 2: wcin mit Mitgliedsfunktion:
#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; )
Wenn Sie das Programm ausführen, ist eine mögliche Ausgabe:
Geben Sie eine Zeichenfolge ein: Programm mit wcin Geben Sie ein Zeichen ein: h Zeichenfolge = Programm mit wcin Zeichen = h
Achtung
char16_tund char32_t, die in C ++ 11 eingeführt wurden , werden empfohlen , anstelle von verwendet werden , wchar_tweil wchar_t16 Bit auf einigen Systemen und 32 Bit auf einem anderen. Dies macht die Portierung schwierig.








