Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
MBRTOWC(3)	       FreeBSD Library Functions Manual		    MBRTOWC(3)

NAME
     mbrtowc --	convert	a character to a wide-character	code (restartable)

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <wchar.h>

     size_t
     mbrtowc(wchar_t * restrict	pwc, const char	* restrict s, size_t n,
	 mbstate_t * restrict ps);

DESCRIPTION
     The mbrtowc() function inspects at	most n bytes pointed to	by s to	deter-
     mine the number of	bytes needed to	complete the next multibyte character.
     If	a character can	be completed, and pwc is not NULL, the wide character
     which is represented by s is stored in the	wchar_t	it points to.

     If	s is NULL, mbrtowc() behaves as	if pwc was NULL, s was an empty	string
     ("") and n	was 1.

     The mbstate_t argument, ps, is used to keep track of the shift state.  If
     it	is NULL, mbrtowc() uses	an internal, static mbstate_t object, which is
     initialized to the	initial	conversion state at program startup.

RETURN VALUES
     The mbrtowc() functions returns:

     0	     The next n	or fewer bytes represent the null wide character
	     (L'\0').

     >0	     The next n	or fewer bytes represent a valid character, mbrtowc()
	     returns the number	of bytes used to complete the multibyte	char-
	     acter.

     (size_t)-2
	     The next n	contribute to, but do not complete, a valid multibyte
	     character sequence, and all n bytes have been processed.

     (size_t)-1
	     An	encoding error has occurred.  The next n or fewer bytes	do not
	     contribute	to a valid multibyte character.

ERRORS
     The mbrtowc() function will fail if:

     [EILSEQ]		An invalid multibyte sequence was detected.

     [EINVAL]		The conversion state is	invalid.

SEE ALSO
     mbtowc(3),	multibyte(3), setlocale(3), wcrtomb(3)

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

FreeBSD	9.3			 April 8, 2004			   FreeBSD 9.3

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS

Want to link to this manual page? Use this URL:
<http://www.freebsd.org/cgi/man.cgi?query=mbrtowc&sektion=3&manpath=FreeBSD+9.2-RELEASE>

home | help