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

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

Wcrtomb () başlık dosyasında tanımlanmıştır.

wcrtomb () prototip

 size_t wcrtomb (karakter * s, wchar_t wc, mbstate_t * ps);

Wcrtomb () işlevi, wc ile gösterilen geniş karakteri dar çok baytlı bir karaktere dönüştürür ve s ile gösterilen adreste saklanır.

  • S bir boş gösterici değilse, wcrtomb () işlevi wc'nin çokbaytlı gösterimini saklamak için gereken maksimum bayt sayısını belirler ve bunu s ile gösterilen bellek konumunda saklar. Maksimum MB_CUR_MAX bayt yazılabilir. Ps değeri gerektiği gibi güncellenir.
  • S bir boş gösterici ise, çağrı wcrtomb(buf, L'', ps)bazı dahili tampon tamponları için eşdeğerdir .
  • Eğer wc == L''boş bayt saklanır.

wcrtomb () Parametreler

  • s: Sonucu saklamak için çok baytlı karakter dizisinin işaretçisi.
  • wc: Dönüştürülecek geniş karakter.
  • ps: Çok baytlı dizeyi yorumlarken kullanılan dönüştürme durumuna işaretçi

wcrtomb () Dönüş değeri

  • Başarı durumunda, wcrtomb () işlevi, ilk öğesi s ile gösterilen karakter dizisine yazılan bayt sayısını döndürür.
  • Başarısızlık durumunda (yani wc geçerli bir geniş karakter değildir) -1 döndürür, errno EILSEQ olarak ayarlanır ve * ps belirtilmemiş durumda bırakır.

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

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str() = L"uu00c6u00f5u01b5"; char s(16); int retVal; mbstate_t ps = mbstate_t(); for (int i=0; i 

When you run the program, the output will be:

 Size of u is 1 bytes Size of Æ is 2 bytes Size of õ is 2 bytes Size of Ƶ is 2 bytes

Ilginç makaleler...