mbrtowc man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]

MBRTOWC(P)		   POSIX Programmer's Manual		    MBRTOWC(P)

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

SYNOPSIS
       #include <wchar.h>

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

DESCRIPTION
       If  s  is a null pointer, the mbrtowc() function shall be equivalent to
       the call:

	      mbrtowc(NULL, "", 1, ps)

       In this case, the values of the arguments pwc and n are ignored.

       If s is not a null pointer, the mbrtowc()  function  shall  inspect  at
       most  n	bytes  beginning  at the byte pointed to by s to determine the
       number of bytes needed to complete the next  character  (including  any
       shift sequences). If the function determines that the next character is
       completed, it shall determine the value of the corresponding wide char‐
       acter and then, if pwc is not a null pointer, shall store that value in
       the object pointed to by pwc. If the corresponding  wide	 character  is
       the  null  wide	character,  the resulting state described shall be the
       initial conversion state.

       If ps is a null pointer, the  mbrtowc()	function  shall	 use  its  own
       internal mbstate_t object, which shall be initialized at program start-
       up to the initial conversion state.  Otherwise,	the  mbstate_t	object
       pointed	to by ps shall be used to completely describe the current con‐
       version state of the associated character sequence. The	implementation
       shall   behave	as   if	  no   function	 defined  in  this  volume  of
       IEEE Std 1003.1-2001 calls mbrtowc().

       The behavior of this function is affected by the LC_CTYPE  category  of
       the current locale.

RETURN VALUE
       The  mbrtowc()  function	 shall	return the first of the following that
       applies:

       0      If the next n or fewer bytes complete the character that	corre‐
	      sponds to the null wide character (which is the value stored).

       between 1 and n inclusive

	      If  the  next n or fewer bytes complete a valid character (which
	      is the value stored); the value returned shall be the number  of
	      bytes that complete the character.

       (size_t)-2
	      If  the next n bytes contribute to an incomplete but potentially
	      valid character, and all n bytes have been processed  (no	 value
	      is  stored).  When  n has at least the value of the {MB_CUR_MAX}
	      macro, this case can only occur if s points  at  a  sequence  of
	      redundant shift sequences (for implementations with state-depen‐
	      dent encodings).

       (size_t)-1
	      If an encoding error occurs, in which case the next n  or	 fewer
	      bytes  do	 not  contribute to a complete and valid character (no
	      value is stored). In this case,  [EILSEQ]	 shall	be  stored  in
	      errno and the conversion state is undefined.

ERRORS
       The mbrtowc() function may fail if:

       EINVAL ps  points  to  an  object  that	contains an invalid conversion
	      state.

       EILSEQ Invalid character sequence is detected.

       The following sections are informative.

EXAMPLES
       None.

APPLICATION USAGE
       None.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       mbsinit()  ,  the  Base	Definitions  volume  of	 IEEE Std 1003.1-2001,
       <wchar.h>

COPYRIGHT
       Portions	 of  this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       --  Portable  Operating	System	Interface (POSIX), The Open Group Base
       Specifications Issue 6, Copyright (C) 2001-2003	by  the	 Institute  of
       Electrical  and	Electronics  Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE and
       The  Open Group Standard, the original IEEE and The Open Group Standard
       is the referee document. The original Standard can be  obtained	online
       at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group		     2003			    MBRTOWC(P)
[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net