Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

FreeBSD 11.0 - man page for mbtowc (freebsd section 3)

MBTOWC(3)						   BSD Library Functions Manual 						 MBTOWC(3)

mbtowc -- convert a character to a wide-character code
Standard C Library (libc, -lc)
#include <stdlib.h> int mbtowc(wchar_t * restrict wcharp, const char * restrict mbchar, size_t nbytes);
The mbtowc() function converts a multibyte character mbchar into a wide character according to the current conversion state, and stores the result in the object pointed to by wcharp. Up to nbytes bytes are examined. A call with a null mbchar pointer returns nonzero if the current encoding requires shift states, zero otherwise; if shift states are required, the shift state is reset to the initial state.
If mbchar is NULL, the mbtowc() function returns nonzero if shift states are supported, zero otherwise. Otherwise, if mbchar is not a null pointer, mbtowc() either returns 0 if mbchar represents the null wide character, or returns the number of bytes processed in mbchar, or returns -1 if no multibyte character could be recognized or converted. In this case, mbtowc()'s internal con- version state is undefined.
The mbtowc() function will fail if: [EILSEQ] An invalid multibyte sequence was detected. [EINVAL] The internal conversion state is invalid.
btowc(3), mblen(3), mbrtowc(3), mbstowcs(3), multibyte(3), wctomb(3)
The mbtowc() function conforms to ISO/IEC 9899:1999 (``ISO C99'').
April 11, 2004 BSD