C ++ c32rtomb () - Стандартная библиотека C ++

Функция c32rtomb () в C ++ преобразует 32-битный символ в представление в узкое представление многобайтовых символов.

Функция c32rtomb () определена в заголовочном файле.

c32rtomb () прототип

 size_t c32rtomb (char * s, char32_t c32, mbstate_t * ps);

Функция c32rtomb () преобразует символ utf-32 c32 в его многобайтовый эквивалент и сохраняет его в объекте, на который указывает s.

Если s представляет собой нулевой указатель, вызов эквивалентен c32rtomb (buf, U ' 0', ps) для некоторого внутреннего буфера buf.

Если c32 является нулевым широким символом, то есть U ' 0', сохраняется нулевой байт.

Параметры c32rtomb ()

  • s: указатель на массив символов, в котором хранится многобайтовый символ.
  • c32: 32-битный символ для преобразования.
  • ps: указатель на объект mbstate_t, используемый при интерпретации многобайтовой строки.

c32rtomb () Возвращаемое значение

  • В случае успеха функция c32rtomb () возвращает количество байтов, записанных в массив символов, на который указывает s.
  • В случае ошибки возвращается -1, а для errno устанавливается значение EILSEQ .

Пример: как работает функция c32rtomb ()?

 #include #include using namespace std; int main() ( const char32_t str() = U"C++ is super fast."; char s(50); mbstate_t ps(); size_t length; int j = 0; while (str(j)) ( length = c32rtomb(s, str(j), &ps); if ((length == 0) || (length> 50)) break; for (int i=0; i 

When you run the program, the output will be:

 C++ is super fast.

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