Mac Developer Library Developer


This manual page is part of Xcode Tools version 5.0

To obtain these tools:

If you are running a version of Xcode Tools other than 5.0, view the documentation locally:

  • In Xcode

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

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

     mbtowc, mbtowc_l -- convert a character to a wide-character code

     Standard C Library (libc, -lc)

     #include <stdlib.h>

     mbtowc(wchar_t *restrict pwc, const char *restrict s, size_t n);

     #include <stdlib.h>
     #include <xlocale.h>

     mbtowc_l(wchar_t *restrict pwc, const char *restrict s, size_t n, locale_t loc);

     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 other-wise; otherwise;
     wise; 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 information.

     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 charac-ter, character,
     ter, or returns the number of bytes processed in s, or returns -1 if no multibyte character could be
     recognized or converted.  In this case, mbtowc()'s internal conversion 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), xlocale(3)

     The mbtowc() function conforms to ISO/IEC 9899:1999 (``ISO C99'').

BSD                             April 11, 2004                             BSD

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.