wcstombs

De RAD Studio
Aller à : navigation, rechercher

Remonter à Stdlib.h - Index


Header File

stdlib.h

Category

Conversion Routines, Memory and String Manipulation Routines

Prototype

size_t wcstombs(char *s, const wchar_t *pwcs, size_t n);

Description

Converts a wchar_t array into a multibyte string.

wcstombs converts the type wchar_t elements contained in pwcs into a multibyte character string s. The process terminates if either a null character or an invalid multibyte character is encountered.

No more than n bytes are modified. If n number of bytes are processed before a null character is reached, the array s is not null terminated.

The behavior of wcstombs is affected by the setting of LC_CTYPE category of the current locale.

Return Value

If an invalid multibyte character is encountered, wcstombs returns (size_t) -1. Otherwise, the function returns the number of bytes modified, not including the terminating code, if any.

Example



 #include <stdio.h>
 #include <stdlib.h>
 void main(void)
 {
   int x;
   char *pbuf = (char*)malloc( MB_CUR_MAX);
   wchar_t *pwcsEOL = L'\0';
   char *pwchi= L"Hi there!";
 
   printf (" Convert entire wchar string into a multibyte string:\n");
   x = wcstombs( pbuf, pwchi,MB_CUR_MAX);
   printf ("Character converted: %u\n", x);
   printf ("Multibyte string character: %1s\n\n",pbuf);
   printf (" Convert when target is NULL\n");
   x = wcstombs( pbuf, pwcsEOL, MB_CUR_MAX);
   printf ("Character converted: %u\n",x);
   printf ("Multibyte string: %1s\n\n",pbuf);
 
 }



Portability



POSIX Win32 ANSI C ANSI C++

+

+

+

+