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!

Интересни статии...