Содержание | Глава 18

Функция mbtowc

#include <stdlib.h>
int mbtowc(wchar_t *out, const char *in, size_t size);

Функция mbtowc() преобразует многобайтовый символ, который содержится в массиве, адресуемом параметром in, в его двухбайтовый эквивалент и помещает результат в объект, адресуемый параметром out. Преобразованию подлежат только первые size символов.

В версии С99 к параметрам out и in применен квалификатор restrict.

Функция возвращает количество байтов, помещенных в объект out. При возникновении ошибки возвращается значение -1. Если указатель in нулевой, функция mbtowc() возвращает ненулевое значение в случае, когда многобайтовые символы имеют кодировку, зависящую от территориально-языковых особенностей. В противном случае возвращается нуль.

Пример

Этот оператор преобразует многобайтовый символ в mbstr в его двухбайтовый эквивалент символа и помещает результат в массив, адресуемый указателем widenonn. (Преобразуются только первые 2 байта mbstr.)

mbtowc(widenonn, mbstr, 2);

Зависимые функции

mblen() wctomb()
Содержание | Глава 18