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

  man pages->Linux man pages -> mbsrtowcs (3)              
Title
Content
Arch
Section
 

MBSRTOWCS(3)

Contents


NAME    [Toc]    [Back]

       mbsrtowcs - convert a multibyte string to a wide character string

SYNOPSIS    [Toc]    [Back]

       #include <wchar.h>

       size_t mbsrtowcs (wchar_t *dest, const char **src,
			 size_t len, mbstate_t *ps);

DESCRIPTION    [Toc]    [Back]

       If  dest  is  not  a  NULL pointer, the mbsrtowcs function converts the
       multibyte string *src to a wide-character string starting at dest.   At
       most  len  wide	characters are written to dest. The shift state *ps is
       updated. The conversion is effectively performed by repeatedly  calling
       mbrtowc(dest,*src,n,ps)	where  n  is  some positive number, as long as
       this call succeeds, and then incrementing dest by one and *src  by  the
       number of bytes consumed. The conversion can stop for three reasons:

       1.  An  invalid	multibyte  sequence has been encountered. In this case
       *src is left pointing to the invalid multibyte  sequence,  (size_t)(-1)
       is returned, and errno is set to EILSEQ.

       2. len non-L'\0' wide characters have been stored at dest. In this case
       *src is left pointing to the next multibyte sequence to	be  converted,
       and the number of wide characters written to dest is returned.

       3.  The	multibyte  string has been completely converted, including the
       terminating '\0' (which has the side effect of bringing back *ps to the
       initial	state).  In  this  case *src is set to NULL, and the number of
       wide characters written to dest, excluding the terminating L'\0'  character,
 is returned.

       If  dest is NULL, len is ignored, and the conversion proceeds as above,
       except that the converted wide characters are not written out  to  memory,
 and that no length limit exists.

       In both of the above cases, if ps is a NULL pointer, a static anonymous
       state only known to the mbsrtowcs function is used instead.

       The programmer must ensure that there is room for  at  least  len  wide
       characters at dest.

RETURN VALUE    [Toc]    [Back]

       The  mbsrtowcs function returns the number of wide characters that make
       up the converted part of the wide character string, not	including  the
       terminating  null  wide character. If an invalid multibyte sequence was
       encountered, (size_t)(-1) is returned, and errno set to EILSEQ.

CONFORMING TO    [Toc]    [Back]

       ISO/ANSI C, UNIX98

SEE ALSO    [Toc]    [Back]

      
      
       mbstowcs(3), mbsnrtowcs(3), iconv(3)

NOTES    [Toc]    [Back]

       The behaviour of mbsrtowcs depends on the LC_CTYPE category of the current
 locale.

       Passing NULL as ps is not multi-thread safe.



GNU				  1999-07-25			  MBSRTOWCS(3)
[ Back ]
 Similar pages
Name OS Title
wcsrtombs Linux convert a wide character string to a multibyte string
wcsnrtombs Linux convert a wide character string to a multibyte string
wcstombs Linux convert a wide character string to a multibyte string
wcsrtombs NetBSD converts a wide character string to a multibyte character string (restartable)
mbsrtowcs NetBSD converts a multibyte character string to a wide character string (restartable)
mbstowcs NetBSD converts a multibyte character string to a wide character string
wcstombs NetBSD converts a wide character string to a multibyte character string
mbsrtowcs Tru64 Convert a multibyte character string
mbstowcs Tru64 Convert a multibyte character string
wcsrtombs FreeBSD convert a wide-character string to a character string (restartable)
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service