C ++ wcin - C ++ Standart Kitaplığı

C ++ 'daki wcin nesnesi, sınıf wistream'in bir nesnesidir. Standart giriş cihazından, yani klavyeden gelen girişi kabul etmek için kullanılır. Standart C giriş akışı stdin ile ilişkilidir.

Wcin ve Cin Arasındaki Fark

cincharkarakter türü olarak kullanıcılar (dar karakter). ASCII ve ANSI karakterleri için kullanılabilir.

Uluslararasılaştırma için, uymayan Unicode dizelerine ihtiyacımız var char. wcinkullanır wchar_t(geniş karakter) ve Unicode karakterler için kullanılabilir.

wcin beyanı

 harici wistream wcin;

Başlık dosyasında "> başlık dosyasında tanımlanır.

wcinNesne sırasında veya tip bir amacı ilk kez daha önce başlatılması için temin edilir ios_base::Initinşa edilir. wcinNesne oluşturulduktan sonra , wcin.tie()geri döner, &wcoutbu, wcin üzerindeki herhangi bir biçimlendirilmiş giriş işleminin, wcout.flush()çıktı için bekleyen herhangi bir karakter varsa, bir çağrıyı zorladığı anlamına gelir .

"Wc", wcin"geniş karakter" anlamına gelir ve "giriş", "giriş" wcinanlamına gelir , bu nedenle "geniş karakter girişi" anlamına gelir. wcinNesne bir karakter akışını almak için (>>) ekstre operatörü ile birlikte kullanılır. Genel sözdizimi şöyledir:

 wcin >> varName;

Ayıklama operatörü, birden fazla girişi aşağıdaki gibi kabul etmek için kullanılabilir:

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

wcinNesne aynı zamanda, diğer eleman fonksiyonları ile birlikte kullanılabilir getline(), read()vb yaygın olarak kullanılan üye işlevlerini bazıları şunlardır:

  • wcin.get(wchar_t &ch): Geniş bir karakter okur ve onu ch.
  • wcin.getline(wchar_t *buffer, int length): Dize arabelleğine geniş karakterlerin bir akışını okur,
    • uzunluk-1 karakter okudu veya
    • bir satır sonu karakteri (' n') veya dosyanın sonunu bulduğunda.
  • wcin.read(wchar_t *buffer, int n): Akıştan arabelleğe n bayt (veya dosyanın sonuna kadar) okur.
  • wcin.ignore(int n): Giriş akışından sonraki n karakteri yok sayar.
  • wcin.eof(): Dosyanın sonuna (eof) ulaşılırsa sıfır olmayan bir değer döndürür.

Örnek 1: Ekstraksiyon operatörlü wcin:

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

Programı çalıştırdığınızda, olası bir çıktı:

 Bir kelime girin: kathmandu kathmandu

Örnek 2: üye işlevli wcin:

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

Programı çalıştırdığınızda, olası bir çıktı:

 Bir dizi girin: wcin kullanan program Bir karakter girin: h String = wcin kullanarak program Karakter = h

Dikkatli ol

char16_tve char32_t, C ++ 11 tanıtılan edildiği yerine kullanılmak üzere önerilmektedir wchar_t, çünkü wchar_tbazı sistemlerde 16 bit ve bazı diğer yanda 32 bit. Bu, taşımayı zorlaştırır.

Ilginç makaleler...