C ++ c16rtomb () - Стандартна бібліотека C ++

Функція c16rtomb () в C ++ перетворює 16-бітове представлення символів у вузьке багатобайтове представлення символів.

Функція c16rtomb () визначена у файлі заголовка.

c16rtomb () Прототип

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

Функція c16rtomb () перетворює utf-16 символ c16 у його багатобайтовий еквівалент і зберігає його в об'єкті, на який вказує s.

Якщо s являє собою нульовий покажчик, виклик еквівалентний c16rtomb (buf, u ' 0', ps) для деякого внутрішнього буфера buf.

Якщо c16 є нульовим широким символом, тобто u ' 0', зберігається нульовий байт.

c16rtomb () Параметри

  • s: Вказівник на масив символів, де слід зберігати багатобайтовий символ.
  • c16: 16-бітний символ для перетворення.
  • ps: вказівник на об'єкт mbstate_t, який використовується при інтерпретації багатобайтового рядка.

c16rtomb () Повернене значення

  • Після успіху функція c16rtomb () повертає кількість байтів, записаних в масив символів, на який вказує s.
  • У разі відмови повертається -1, а EILSEQ зберігається в errno.

Приклад: Як працює функція c16rtomb ()?

 #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!

Цікаві статті...