*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> mbrtowc (3)              
Title
Content
Arch
Section
 

mbtowc(3)

Contents


NAME    [Toc]    [Back]

       mbtowc,  mbrtowc - Convert a multibyte character to a wide
       character

SYNOPSIS    [Toc]    [Back]

       #include <stdlib.h>

       int mbtowc(
               wchar_t *pwc,
               const char *s,
               size_t n ); #include <wchar.h>

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

LIBRARY    [Toc]    [Back]

       Standard C Library (libc)

STANDARDS    [Toc]    [Back]

       Interfaces documented on this reference  page  conform  to
       industry standards as follows:

       mbtowc(): ISO C, XPG4

       mbrtowc(): ISO C

       Refer to the standards(5) reference page for more information
 about industry standards and associated tags.

PARAMETERS    [Toc]    [Back]

       Points to the location of a variable containing the  widecharacter
  value.   Points  to a byte array containing the
       multibyte character to be converted.  Specifies the  maximum
  number of bytes to evaluate.  Points to the mbstate_t
       structure that contains the conversion state of the multibyte
 character in s (for mbrtowc() only).

DESCRIPTION    [Toc]    [Back]

       The  mbtowc() function converts a multibyte character to a
       wide character and returns the  number  of  bytes  of  the
       multibyte  character,  which  is stored as an output variable.


       In locales with shift-state character encoding, a call  to
       mbtowc() with a null pointer as the s parameter places the
       function in the initial shift state. A  call  to  mbtowc()
       with  an s parameter that is not a null pointer may change
       the shift state for subsequent calls to mbtowc(),  depending
 on the character examined. Changing the LC_CTYPE category
 of the locale causes the shift state of the  function
       to  be indeterminate. The implementation behaves as though
       no other function calls the mbtowc() function.

       In the case of nonrestartable functions, such as mbtowc(),
       conversion  of  shift-state encoding must first be enabled
       by calling the function with a null pointer parameter  and
       then  calling  the function again with the multibyte value
       to be converted. The status of  the  conversion  operation
       after the call is not available to subsequent calls.

       The   mbrtowc()  function  is  a  restartable  version  of
       mbtowc(), which means that the shift state for the character
  in  s is maintained in the mbstate_t structure and is
       therefore available to subsequent calls by  mbrtowc()  and
       other restartable conversion functions.

RESTRICTIONS    [Toc]    [Back]

       The  mbrtowc()  and  other restartable conversion routines
       are functional only when used with  locales  that  support
       shift-state  encoding.   Currently, the Tru64 UNIX product
       does not provide locales that  use  shift-state  encoding.
       Therefore,  the  run-time behavior of mbrtowc() is equivalent
 to mbtowc(),  and  neither  function  returns  values
       listed for state-dependent conditions.

RETURN VALUES    [Toc]    [Back]

       If *s is not a null pointer, the mbtowc() function returns
       the following values: A positive value indicating the number
  of bytes in the multibyte character, if the next n or
       fewer bytes in s constitutes a valid  multibyte  character
       other  than  the null character Zero, if s contains a null
       character -1, if s does  not  contain  a  valid  multibyte
       character  or  contains  a  character having more than the
       number of bytes expressed by  the  n  parameter.  In  this
       case, mbtowc() sets errno to indicate the error.

       If s is not a null pointer, the mbrtowc() function returns
       the first value that applies in the following list:  Zero,
       if  the next n or fewer bytes are converted to a null wide
       character, which is then stored in pwc  A  positive  value
       indicating  the number of bytes in the converted multibyte
       character, if the next n or fewer bytes constitute a valid
       multibyte  character. The counterpart wide-character value
       is then stored in pwc.  (size_t)-2, if the  next  n  bytes
       contribute to an incomplete (but potentially valid) multibyte
 character. In this case, no value is stored  in  pwc.
       (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  multibyte  character.  In  this  case,  no value is
       stored in pwc, the function sets errno to EILSEQ, and  the
       conversion state is undefined.

       If  *s  is a null pointer, both the mbtowc() and mbrtowc()
       functions return one of the following values, depending on
       whether  the  character  encoding in the current locale is
       shift-state dependent: A nonzero value, if  the  character
       encoding  is  shift-state dependent Zero, if the character
       encoding is not shift-state dependent

       The return values for these  functions  is  never  greater
       than  the  value specified by the n parameter or the value
       of MB_CUR_MAX.

ERRORS    [Toc]    [Back]

       If the following condition occurs, the mbtowc()  and  mbrtowc()
  functions  set  errno  to the corresponding value.
       The s parameter points to an invalid multibyte  character.








SEE ALSO    [Toc]    [Back]

      
      
       Functions:  btowc(3),  mblen(3),  wctomb(3),  mbstowcs(3),
       wcstombs(3), wctob(3)

       Files: locale(4)



                                                        mbtowc(3)
[ Back ]
 Similar pages
Name OS Title
wcrtomb Tru64 Convert a wide character into a multibyte character
wctomb Tru64 Convert a wide character into a multibyte character
wctomb Linux convert a wide character to a multibyte sequence
mbtowc Linux convert a multibyte sequence to a wide character
wcrtomb Linux convert a wide character to a multibyte sequence
mbrtowc Linux convert a multibyte sequence to a wide character
mbrtowc NetBSD converts a multibyte character to a wide character (restartable)
wcrtomb NetBSD converts a wide character to a multibyte character (restartable)
wctomb NetBSD converts a wide character to a multibyte character
mbtowc NetBSD converts a multibyte character to a wide character
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service