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