mbtowc_l(3) [osx man page]
MBTOWC(3) BSD Library Functions Manual MBTOWC(3) NAME
mbtowc, mbtowc_l -- convert a character to a wide-character code LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <stdlib.h> int mbtowc(wchar_t *restrict pwc, const char *restrict s, size_t n); #include <stdlib.h> #include <xlocale.h> int mbtowc_l(wchar_t *restrict pwc, const char *restrict s, size_t n, locale_t loc); DESCRIPTION
The mbtowc() function converts a multibyte character s into a wide character, according to the current conversion state, and stores the result in the object pointed to by pwc. Up to n bytes are examined. A call with a null s 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. While the mbtowc() function uses the current locale, the mbtowc_l() function may be passed a locale directly. See xlocale(3) for more infor- mation. RETURN VALUES
If s is NULL, the mbtowc() function returns nonzero if shift states are supported, zero otherwise. Otherwise, if s is not a null pointer, mbtowc() either returns 0 if s represents the null wide character, or returns the number of bytes pro- cessed in s, or returns -1 if no multibyte character could be recognized or converted. In this case, mbtowc()'s internal conversion state is undefined. ERRORS
The mbtowc() function will fail if: [EILSEQ] An invalid multibyte sequence was detected. [EINVAL] The internal conversion state is invalid. SEE ALSO
btowc(3), mblen(3), mbrtowc(3), mbstowcs(3), multibyte(3), wctomb(3), xlocale(3) STANDARDS
The mbtowc() function conforms to ISO/IEC 9899:1999 (``ISO C99''). BSD
April 11, 2004 BSD
Check Out this Related Man Page
MBTOWC(3) BSD Library Functions Manual MBTOWC(3) NAME
mbtowc -- converts a multibyte character to a wide character LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <stdlib.h> int mbtowc(wchar_t * restrict pwc, const char * restrict s, size_t n); DESCRIPTION
mbtowc() usually converts the multibyte character pointed to by s to a wide character, and stores it in the wchar_t object pointed to by pwc if pwc is non-NULL and s points to a valid character. This function may inspect at most n bytes of the array beginning from s. In state-dependent encodings, s may point to the special sequence bytes to change the shift-state. Although such sequence bytes correspond to no individual wide-character code, mbtowc() changes its own state by the sequence bytes and treats them as if they are a part of the sub- sequence multibyte character. Unlike mbrtowc(3), the first n bytes pointed to by s need to form an entire multibyte character. Otherwise, this function causes an error. Calling any other functions in Standard C Library (libc, -lc) never changes the internal state of mbtowc(), except for calling setlocale(3) with changing the LC_CTYPE category of the current locale. Such setlocale(3) call causes the internal state of this function to be indeter- minate. The behaviour of mbtowc() is affected by the LC_CTYPE category of the current locale. There are special cases: s == NULL mbtowc() initializes its own internal state to an initial state, and determines whether the current encoding is state-depen- dent. This function returns 0 if the encoding is state-independent, otherwise non-zero. In this case, pwc is completely ignored. pwc == NULL mbtowc() executes the conversion as if pwc is non-NULL, but a result of the conversion is discarded. n == 0 In this case, the first n bytes of the array pointed to by s never form a complete character. Thus, the mbtowc() always fails. RETURN VALUES
Normally, the mbtowc() returns: 0 s points to a nul byte ('