Функция c32rtomb () в C / C ++

Опубликовано: 30 Декабря, 2021

C32rtomb () - это встроенная функция в C / C ++, которая преобразует 32-битное символьное представление в узкое многобайтовое символьное представление. Он определен в заголовочном файле uchar.h C ++.

Синтаксис :

 size_t c32rtomb (char * s, char32_t c32, mbstate_t * p)

Параметры : функция принимает три обязательных параметра, как показано ниже:

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

Возвращаемое значение : функция возвращает два значения, как показано ниже:

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

Программа 1 :

Программа 2 :

// C++ program to illustrate the
// c32rtomb () function on it's failure
#include <iostream>
#include <uchar.h>
#include <wchar.h>
using namespace std;
int main()
{
const char32_t str[] = U "" ;
char s[50];
mbstate_t p{};
size_t length;
int j = 0;
while (str[j]) {
// initializing the function
length = c32rtomb(s, str[j], &p);
if ((length == 0) || (length > 50))
break ;
for ( int i = 0; i < length; ++i)
cout << s[i];
++j;
}
return 0;
}
Выход:

Примечание. В приведенной выше программе нет вывода, так как это случай сбоя.

Хотите учиться на лучших видео и практических задачах, ознакомьтесь с Базовым курсом C для базового и продвинутого C.
C++ C