C ++ wcin - C ++ Standardbibliothek

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.

Interessante Beiträge...