![]() |
![]() |
![]() |
![]() |
![]() |
This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Convert a multibyte-character string into a wide-character string
#include <stdlib.h>
size_t mbstowcs( wchar_t * pwcs,
const char * s,
size_t n );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The mbstowcs() function converts a sequence of multibyte characters pointed to by s into their corresponding wide-character codes pointed to by pwcs, to a maximum of n bytes. It doesn't convert any multibyte characters beyond a NULL character.
This function is affected by LC_TYPE.
The mbsrtowcs() function is a restartable version of mbstowcs().
The number of array elements modified, not including the terminating zero code, if present, or (size_t)-1 if an invalid multibyte character was encountered.
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
char *wc = "string";
wchar_t wbuffer[50];
int i, len;
len = mbstowcs( wbuffer, wc, 50 );
if( len != -1 ) {
wbuffer[len] = '\0';
printf( "%s(%d)\n", wc, len );
for( i = 0; i < len; i++ ) {
printf( "/%4.4x", wbuffer[i] );
}
printf( "\n" );
}
return EXIT_SUCCESS;
}
This produces the output:
string(6) /0073/0074/0072/0069/006e/0067
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
"Multibyte character functions" and "Wide-character functions" in the summary of functions chapter.
![]() |
![]() |
![]() |
![]() |