C ++ wcin - C ++ Standardbibliotek

Wcin-objektet i C ++ er et objekt fra klasse wistream. Det bruges til at acceptere input fra standardinputenheden, dvs. tastaturet. Det er forbundet med standard C-inputstrøm stdin.

Forskel mellem wcin og cin

cinbrugere char(smal karakter) som karaktertype. Det kan bruges til ASCII- og ANSI-tegn.

Til internationalisering har vi brug for Unicode-strenge, der ikke passer ind char. wcinbruger wchar_t(bred karakter) og kan bruges til Unicode-tegn.

wcin-erklæring

 ekstern wistream wcin;

Det er defineret i header-fil "> header-fil.

Det wcinformål sikres initialiseres under eller før den første gang et objekt af typen ios_base::Initkonstrueres. Når wcinobjektet er konstrueret, wcin.tie()returneres, &wcouthvilket betyder, at enhver formateret inputoperation på wcin tvinger et opkald til, wcout.flush()hvis der er tegn på at blive sendt til output.

"Wc" i wcinhenviser til "bred karakter" og "in" betyder "input", wcinbetyder derfor "bred tegninput". Den wcingenstand er brugt sammen med udvinding operatør (>>) for at modtage en strøm af tegn. Den generelle syntaks er:

 wcin >> varName;

Ekstraktionsoperatøren kan bruges mere end en gang til at acceptere flere input som:

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

Den wcinobjekt kan også bruges med andre medlem funktioner såsom getline(), read()etc. Nogle af de almindeligt anvendte medlem funktioner er:

  • wcin.get(wchar_t &ch): Læser en bred karakter og gemmer den i kap.
  • wcin.getline(wchar_t *buffer, int length): Læser en strøm af brede tegn ind i strengbufferen. Den stopper når
    • den har læst længde-1 tegn eller
    • når den finder et slut-af-linjetegn (' n') eller slutningen af ​​filen.
  • wcin.read(wchar_t *buffer, int n): Læser n bytes (eller indtil slutningen af ​​filen) fra strømmen ind i bufferen.
  • wcin.ignore(int n): Ignorer de næste n tegn fra inputstrømmen.
  • wcin.eof(): Returnerer en ikke-nul værdi, hvis slutningen af ​​filen (eof) er nået.

Eksempel 1: wcin med ekstraktionsoperatør:

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

Når du kører programmet, vil en mulig output være:

 Indtast et ord: kathmandu kathmandu

Eksempel 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ører programmet, vil en mulig output være:

 Indtast en streng: program ved hjælp af wcin Indtast et tegn: h String = program ved hjælp af wcin Tegn = h

Vær forsigtig

char16_tog char32_tsom blev introduceret i C ++ 11 anbefales at bruge i stedet for wchar_tfordi det wchar_ter 16 bit på nogle systemer og 32 bit på andre. Dette gør det vanskeligt at porte.

Interessante artikler...