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

  man pages->NetBSD man pages -> wcsrtombs (3)              
Title
Content
Arch
Section
 

WCSRTOMBS(3)

Contents


NAME    [Toc]    [Back]

     wcsrtombs - converts a wide character string to a multibyte character
     string (restartable)

LIBRARY    [Toc]    [Back]

     Standard C Library (libc, -lc)

SYNOPSIS    [Toc]    [Back]

     #include <stdlib.h>

     size_t
     wcsrtombs(const char * restrict s, const wchar_t ** restrict pwcs,
             size_t n, mbstate_t * restrict ps);

DESCRIPTION    [Toc]    [Back]

     The wcsrtombs() converts the null-terminated wide character string indirectly
 pointed by pwcs to the corresponding multibyte character string,
     and store it to the array pointed by s.  The conversion stops due to the
     following reasons:

     +o   The conversion reaches a null wide character.  In this case, the null
         wide character is also converted.

     +o   The wcsrtombs() has already stored n bytes to the array pointed by s.

     +o   The conversion encounters an invalid character.

     Each characters will be converted as if wcrtomb(3) is continuously
     called, except the internal state of wcrtomb(3) will not be affected.

     After conversion, if s is not NULL pointer, the pointer object pointed by
     pwcs is NULL pointer (if the conversion is stopped due to reach a null
     wide character) or the first byte of the character just after the last
     character converted.

     If s is not null pointer and the conversion is stopped due to reach a
     null wide character, the wcsrtombs() places the state object pointed by
     ps to an initial state after the conversion is taken place.

     The behaviour of the wcsrtombs() is affected by LC_CTYPE category of the
     current locale.

     There are special cases:

     s == NULL     The wcsrtombs() returns the number of bytes to store the
                   whole multibyte character string corresponding to the wide
                   character string pointed by pwcs, not including the terminating
 null byte. In this case, n is ignored.

     pwcs == NULL || *pwcs == NULL
                   undefined (may causes the program to crash).

     ps == NULL    The wcsrtombs() uses its own internal state object to keep
                   the conversion state, instead of ps mentioned in this manual
 page.

                   Calling any other functions in the Standard C Library
                   (libc, -lc) never change the internal state of the
                   wcsrtombs(), that is initialized at startup time of the
                   program.

RETURN VALUES    [Toc]    [Back]

     The wcsrtombs() returns:

     0 or positive
                   number of bytes stored to the array pointed by s, except
                   for a null byte.  There is no cases that the value returned
                   is greater than n (unless s is a null pointer).  If the
                   return value is equal to n, the string pointed by s will
                   not be null-terminated.

     (size_t)-1    pwcs points the string containing invalid wide character.
                   The wcsrtombs() also sets errno to indicate the error.

ERRORS    [Toc]    [Back]

     The wcsrtombs() may causes an error in the following case:

     [EILSEQ]           pwcs points the string containing invalid wide character.

SEE ALSO    [Toc]    [Back]

      
      
     setlocale(3), wcrtomb(3), wcstombs(3)

STANDARDS    [Toc]    [Back]

     The wcsrtombs() function conforms to ANSI X3.159-1989 (``ANSI C'').  The
     restrict qualifier is added at .

BSD                            February 4, 2002                            BSD
[ Back ]
 Similar pages
Name OS Title
mbsrtowcs NetBSD converts a multibyte character string to a wide character string (restartable)
mbrtowc NetBSD converts a multibyte character to a wide character (restartable)
wcrtomb NetBSD converts a wide character to a multibyte character (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
wcsrtombs FreeBSD convert a wide-character string to a character string (restartable)
mbsrtowcs FreeBSD convert a character string to a wide-character string (restartable)
mbsrtowcs Linux convert a multibyte string to a wide character string
mbsnrtowcs Linux convert a multibyte string to a wide character string
mbstowcs Linux convert a multibyte string to a wide character string
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service