Header File
stdlib.h
Category
Conversion Routines, Memory and String Manipulation Routines
Prototype
size_t mbstowcs(wchar_t *pwcs, const char *s, size_t n);
Description
Converts a multibyte string to a wchar_t array.
The function converts the multibyte string s into the array pointed to by pwcs. No more than n values are stored in the array. If an invalid multibyte sequence is encountered, mbstowcs returns (size_t) -1.
The pwcs array will not be terminated with a zero value if mbstowcs returns n.
Return Value
If an invalid multibyte sequence is encountered, mbstowcs returns (size_t) -1. Otherwise, the function returns the number of array elements modified, not including the terminating code, if any.
Example
#include <stdio.h> #include <stdlib.h> void main(void) { int x; char *mbst = (char *)malloc(MB_CUR_MAX); wchar_t *pwst = L"Hi"; wchar_t *pwc = (wchar_t *)malloc(sizeof( wchar_t)); printf ("Convert to multibyte string:\n"); x = wcstombs (mbst, pwst, MB_CUR_MAX); printf ("\tCharacters converted %u\n",x); printf ("\tHEx value of first"); printf (" multibyte character: %#.4x\n\n", mbst); printf ("Convert back to wide character string:\n"); x = mbstowcs(pwc, mbst, MB_CUR_MAX); printf( "\tCharacters converted: %u\n",x); printf( "\tHex value of first"); printf( "wide character: %#.4x\n\n", pwc); }
Portability
POSIX |
Win32 |
ANSI C |
ANSI C++ |
+ |
+ |
+ |
+ |
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|