C ++ wcin - C ++ Standardbibliotek

Wcin-objektet i C ++ är ett objekt av klass wistream. Den används för att acceptera ingången från standardinmatningsenheten, dvs. tangentbordet. Det är associerat med standard C-ingångsströmmen stdin.

Skillnad mellan wcin och cin

cinanvändare char(smalt tecken) som teckentyp. Den kan användas för ASCII- och ANSI-tecken.

För internationalisering behöver vi Unicode-strängar som inte passar in char. wcinanvänder wchar_t(bred karaktär) och kan användas för Unicode-tecken.

wcin-deklaration

 extern wistream wcin;

Det definieras i rubrikfil "> rubrikfil.

Det wcinändamål säkerställs att initieras under eller före den första gången ett objekt av typen ios_base::Initkonstrueras. Efter att wcinobjektet har konstruerats, wcin.tie()returneras &wcoutvilket innebär att alla formaterade ingångsoperationer på wcin tvingar ett samtal till wcout.flush()om några tecken väntar på att matas ut.

"Wc" i wcinhänvisar till "wide character" och "in" betyder "input", följaktligen wcinbetyder "wide character input". Det wcinobjekt används tillsammans med utvinning operatör (>>) för att ta emot en ström av tecken. Den allmänna syntaxen är:

 wcin >> varName;

Extraktionsoperatören kan användas mer än en gång för att acceptera flera ingångar som:

 wcin >> var1 >> var2 >>… >> varN;

Det wcinobjektet kan även användas med andra funktioner medlemmens såsom getline(), read(), etc. Några av de vanligen använda medlemsfunktioner är:

  • wcin.get(wchar_t &ch): Läser en bred karaktär och lagrar den i kap.
  • wcin.getline(wchar_t *buffer, int length): Läser en ström av breda tecken i strängbufferten, den stannar när
    • den har läst längd-1 tecken eller
    • när den hittar ett slutet av radtecken (' n') eller slutet på filen.
  • wcin.read(wchar_t *buffer, int n): Läser n byte (eller till slutet av filen) från strömmen till bufferten.
  • wcin.ignore(int n): Ignorerar nästa n tecken från ingångsströmmen.
  • wcin.eof(): Returnerar ett icke-nollvärde om slutet på filen (eof) nås.

Exempel 1: wcin med extraktionsoperatör:

 #include using namespace std; int main() ( wchar_t word(20); wcout <> word; wcout << word; return 0; )

När du kör programmet blir en möjlig utdata:

 Ange ett ord: kathmandu kathmandu

Exempel 2: wcin med medlemsfunktion:

 #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; )

När du kör programmet blir en möjlig utdata:

 Ange en sträng: program med wcin Ange ett tecken: h Sträng = program med wcin Tecken = h

Var försiktig

char16_toch char32_tsom introducerades i C ++ 11 rekommenderas att användas istället för wchar_tatt det wchar_tär 16 bitar på vissa system och 32 bitar på andra. Detta gör det svårt att hamna.

Intressanta artiklar...