C ++ mbtowc () - C ++ Standart Kitaplığı

C ++ 'daki mbtowc () işlevi, çok baytlı bir karakteri geniş bir karaktere dönüştürür.

Mbtwoc () işlevi başlık dosyasında tanımlanmıştır.

mbtowc () prototip

 int mbtowc (wchar_t * pwc, const char * pmb, size_t maks);

Mbtowc () işlevi üç bağımsız değişken alır ve bir tamsayı değeri döndürür. Bu işlev, pmb ile gösterilen çok baytlı karakteri geniş bir karaktere (wchar_t türünün değeri) dönüştürür ve pwc ile gösterilen bellek konumunda saklanır.

Pmb bir boş gösterici ise, mbtowc () 'ye yapılan bir çağrı, genel dönüştürme durumunu sıfırlar ve kaydırma dizilerinin kullanılıp kullanılmadığını belirler.

mbtowc () Parametreler

  • pwc: Ortaya çıkan geniş karakterin işaretçisi
  • pmb: Geniş karaktere dönüştürülen çok baytlı karakterin işaretçisi
  • max: Çok baytlı karakter için dikkate alınacak pmb bayt cinsinden maksimum boyut.

mbtowc () Dönüş değeri

Pmb bir boş gösterici değilse, mbtowc () şunu döndürür:

  • pmb ile gösterilen çokbaytlı karakterde bulunan baytların sayısı.
  • Pmb ile gösterilen ilk bayt geçerli bir çok baytlı karakter oluşturmuyorsa -1.
  • 0 eğer pmb sonlandırıcı boş karakteri, yani ' 0' gösteriyorsa.

Pmb bir boş göstericiyse, dahili dönüştürme durumunu ilk kaydırma durumunu temsil edecek şekilde sıfırlar ve şunu döndürür:

  • 0 mevcut çok baytlı kodlama duruma bağlı değilse (kaydırma dizilerini kullanmıyorsa)
  • mevcut çok baytlı kodlama duruma bağlıysa (kaydırma dizilerini kullanır) sıfır olmayan bir değer.

Örnek: mbtowc () işlevi nasıl çalışır?

 #include #include #include using namespace std; int main() ( char pmb() = "Welcome to Programiz.com"; wchar_t pwc(100); int len, ret_val; /* resets internal conversion state */ mbtowc (NULL, NULL, 0); len = strlen(pmb); ret_val = mbtowc(pwc, pmb, strlen(pmb)); cout << "Return Value = " << ret_val << endl; wcout << "Wide character string: " << pwc; return(0); )

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

 Dönüş Değeri = 1 Geniş karakter dizesi: W @

Ilginç makaleler...