#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()