wcsrtombs man page on OpenBSD

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

WCSRTOMBS(3)		  OpenBSD Programmer's Manual		  WCSRTOMBS(3)

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

SYNOPSIS
     #include <stdlib.h>

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

DESCRIPTION
     The wcsrtombs() converts the null-terminated wide-character string
     indirectly pointed to by pwcs to the corresponding multibyte character
     string, and store it to the array pointed to 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 to 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 a NULL pointer, the pointer object pointed
     to by pwcs is a NULL pointer (if the conversion is stopped due to
     reaching a null wide character) or the first byte of the character just
     after the last character converted.

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

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

     These are the special cases:

     s == NULL	   wcsrtombs() returns the number of bytes to store the whole
		   multibyte character string corresponding to the wide-
		   character string pointed to 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	   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 libc never change the
		   internal state of wcsrtombs(), that is initialized at
		   startup time of the program.

RETURN VALUES
     wcsrtombs() returns:

     0 or positive
		   Number of bytes stored to the array pointed to 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 to by s will
		   not be null-terminated.

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

ERRORS
     wcsrtombs() may cause an error in the following cases:

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

SEE ALSO
     setlocale(3), wcrtomb(3), wcstombs(3)

STANDARDS
     The wcsrtombs() function conforms to ANSI X3.159-1989 (``ANSI C'').  The
     restrict qualifier is added at ISO/IEC 9899/AMD1:1995 (``ISO C99'').

OpenBSD 4.9		      September 10, 2010		   OpenBSD 4.9
[top]

List of man pages available for OpenBSD

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