C ++ wcin - C ++ szabványos könyvtár

A C ++ fájlban található wcin objektum osztály wistream objektum. Arra szolgál, hogy elfogadja a bemenetet a szokásos beviteli eszközről, azaz a billentyűzetről. A szabványos C bemeneti adat stdinhez van társítva.

Különbség a wcin és a cin között

cinfelhasználók char(keskeny karakter) karaktertípusként. Használható ASCII és ANSI karakterekhez.

A nemzetközivé váláshoz Unicode karakterláncokra van szükségünk, amelyek nem illenek bele char. wcinfelhasználás wchar_t(széles karakter), és használható Unicode karaktereket.

wcin nyilatkozat

 extern wistream wcin;

A "header file"> header fájlban van meghatározva.

Az wcinobjektum inicializálása biztosított egy típusú objektum első ios_base::Initépítése során vagy azelőtt . Az wcinobjektum felépítése után wcin.tie()visszatér, &wcoutami azt jelenti, hogy a wcin bármilyen formázott beviteli művelete felhívást kezdeményez, wcout.flush()ha bármilyen karakter vár kimenetre.

A "wc" az wcin"széles karakterre" utal, és az "in" jelentése "bevitel", tehát wcin"széles karakter bevitel". Az wcinobjektumot a kibontás operátorral (>>) együtt használják a karakterek áramának fogadására. Az általános szintaxis:

 wcin >> varName;

Az extrakciós operátor többször is használható több bemenet elfogadására, mint:

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

A wcintárgy is fel lehet használni más tagja funkciók, mint például getline(), read()stb Néhány általánosan használt tag funkciók:

  • wcin.get(wchar_t &ch): Széles karaktert olvas és tárolja ch-ben.
  • wcin.getline(wchar_t *buffer, int length): Széles karakteráramot olvas be a karakterlánc-pufferbe, amikor leáll
    • 1 karakter hosszúságú vagy
    • amikor talál egy sorvégi karaktert (' n') vagy a fájl végét.
  • wcin.read(wchar_t *buffer, int n): N bájtot olvas (vagy a fájl végéig) a folyamból a pufferbe.
  • wcin.ignore(int n): Figyelmen kívül hagyja a következő n karaktert a bemeneti adatfolyamból.
  • wcin.eof(): Nem nulla értéket ad vissza, ha elérte a fájl végét (eof).

1. példa: wcin extrakciós operátorral:

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

A program futtatásakor egy lehetséges kimenet lesz:

 Írjon be egy szót: kathmandu kathmandu

2. példa: wcin tagfunkcióval:

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

A program futtatásakor egy lehetséges kimenet lesz:

 Írjon be egy karakterláncot: program a wcin használatával Írjon be egy karaktert: h String = program a wcin karakter használatával = h

Légy óvatos

char16_tés char32_tamelyeket a C ++ 11-ben vezettek be, ajánlott használni, wchar_tmert wchar_tegyes rendszerekben 16, másoknál 32 bites. Ez megnehezíti a portolást.

érdekes cikkek...