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
cin
char
karakter 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
. wcin
kullanı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.
wcin
Nesne sırasında veya tip bir amacı ilk kez daha önce başlatılması için temin edilir ios_base::Init
inşa edilir. wcin
Nesne oluşturulduktan sonra , wcin.tie()
geri döner, &wcout
bu, 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ş" wcin
anlamına gelir , bu nedenle "geniş karakter girişi" anlamına gelir. wcin
Nesne 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;
wcin
Nesne 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_t
ve char32_t
, C ++ 11 tanıtılan edildiği yerine kullanılmak üzere önerilmektedir wchar_t
, çünkü wchar_t
bazı sistemlerde 16 bit ve bazı diğer yanda 32 bit. Bu, taşımayı zorlaştırır.