Функція 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.