Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mbtowc(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)						     Linux Programmer's Manual							 MBTOWC(3)

NAME
mbtowc - convert a multibyte sequence to a wide character SYNOPSIS
#include <stdlib.h> int mbtowc(wchar_t *pwc, const char *s, size_t n); DESCRIPTION
The main case for this function is when s is not NULL and pwc is not NULL. In this case, the mbtowc function inspects at most n bytes of the multibyte string starting at s, extracts the next complete multibyte character, converts it to a wide character and stores it at *pwc. It updates an internal shift state only known to the mbtowc function. If s does not point to a '' byte, it returns the number of bytes that were consumed from s, otherwise it returns 0. If the n bytes starting at s do not contain a complete multibyte character, or if they contain an invalid multibyte sequence, mbtowc returns -1. This can happen even if n >= MB_CUR_MAX, if the multibyte string contains redundant shift sequences. A different case is when s is not NULL but pwc is NULL. In this case the mbtowc function behaves as above, excepts that it does not store the converted wide character in memory. A third case is when s is NULL. In this case, pwc and n are ignored. The mbtowc function resets the shift state, only known to this func- tion, to the initial state, and returns non-zero if the encoding has non-trivial shift state, or zero if the encoding is stateless. RETURN VALUE
If s is not NULL, the mbtowc function returns the number of consumed bytes starting at s, or 0 if s points to a null byte, or -1 upon fail- ure. If s is NULL, the mbtowc function returns non-zero if the encoding has non-trivial shift state, or zero if the encoding is stateless. CONFORMING TO
ISO/ANSI C, UNIX98 SEE ALSO
mbrtowc(3), mbstowcs(3), MB_CUR_MAX(3) NOTES
The behaviour of mbtowc depends on the LC_CTYPE category of the current locale. This function is not multi-thread safe. The function mbrtowc provides a better interface to the same functionality. GNU
2001-07-04 MBTOWC(3)
Man Page