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

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

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

wctomb () prototipi

 int wctomb (char * pmb, wchar_t wc);

Wctomb () işlevi iki argüman alır ve bir tamsayı değeri döndürür. Bu işlev, wc ile temsil edilen geniş karakteri çok baytlı eşdeğerine dönüştürür ve pmb ile gösterilen bellek konumunda saklanır. Saklanabilecek maksimum karakter sayısı MB_CUR_MAX'tır .

Wc boş karakter ise, boş bayt pmb'ye yazılır.

Pmb bir boş gösterici ise, wctomb () 'a yapılan bir çağrı global dönüştürme durumunu sıfırlayacak ve kaydırma dizilerinin kullanılıp kullanılmayacağını belirleyecektir.

wctomb () Parametreler

  • pmb: Ortaya çıkan çok baytlı karakterin işaretçisi
  • wc: Çok baytlı karaktere dönüştürülen geniş karakter

wctomb () Dönüş değeri

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

  • wc'nin çok baytlı gösteriminde bulunan baytların sayısı.
  • Wc geçerli bir karakter değilse -1.

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: wctomb () işlevi nasıl çalışır?

 #include #include using namespace std; int main() ( wchar_t wc = L'x'; char *pmb1 = (char*)malloc(sizeof(char)); char *pmb2 = NULL; int ret_val; cout << "When pmb is not null" << endl; ret_val = wctomb(pmb1, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb1 << endl << endl; cout << "When pmb is null" << endl; ret_val = wctomb(pmb2, wc); cout << "Return Value = " << ret_val << endl; wcout << "Multibyte Character: " << pmb2; return(0); )

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

 Pmb boş olmadığında Dönüş Değeri = 1 Çokbaytlı Karakter: x↨R pmb boş olduğunda Dönüş Değeri = 0 Çok baytlı Karakter:

Ilginç makaleler...