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!

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