manpagez: man pages & more
man mbtowc_l(3)
Home | html | info | man
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 char-
     acter, 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() func-
     tion may be passed a locale directly. See xlocale(3) for more informa-
     tion.


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

Mac OS X 10.8 - Generated Wed Aug 29 06:50:21 CDT 2012
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.