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

C ++ 'daki c16rtomb () işlevi, 16 bitlik karakter gösterimini dar çok baytlı karakter gösterimine dönüştürür.

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

c16rtomb () Prototip

 size_t c16rtomb (char * s, char16_t c16, mbstate_t * ps);

C16rtomb () işlevi, utf-16 c16 karakterini çok baytlı eşdeğerine dönüştürür ve s ile gösterilen nesnede depolar.

S bir boş göstericiyi temsil ediyorsa, çağrı bazı dahili tampon tamponları için c16rtomb (buf, u ' 0', ps) 'ye eşdeğerdir.

C16 boş geniş karakter ise, yani u ' 0', boş bir bayt saklanır.

c16rtomb () Parametreleri

  • s: Çok baytlı karakterin depolanacağı bir karakter dizisine işaretçi.
  • c16: Dönüştürülecek 16 bitlik karakter.
  • ps: Çok baytlı dizeyi yorumlarken kullanılan bir mbstate_t nesnesine işaretçi.

c16rtomb () Dönüş değeri

  • Başarı durumunda c16rtomb () işlevi, s ile gösterilen karakter dizisine yazılan bayt sayısını döndürür.
  • Başarısızlık durumunda, -1 döndürülür ve EILSEQ hata no'da saklanır.

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

 #include #include using namespace std; int main() ( const char16_t str() = u"Hello World!"; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c16rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i 

When you run the program, the output will be:

 Hello World!

Ilginç makaleler...