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
cin
brugere 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
. wcin
bruger 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 wcin
formål sikres initialiseres under eller før den første gang et objekt af typen ios_base::Init
konstrueres. Når wcin
objektet er konstrueret, wcin.tie()
returneres, &wcout
hvilket 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 wcin
henviser til "bred karakter" og "in" betyder "input", wcin
betyder derfor "bred tegninput". Den wcin
genstand 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 wcin
objekt 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_t
og char32_t
som blev introduceret i C ++ 11 anbefales at bruge i stedet for wchar_t
fordi det wchar_t
er 16 bit på nogle systemer og 32 bit på andre. Dette gør det vanskeligt at porte.