futrueboy 发表于 2013-1-27 05:00:30

wchar_t 与 char 相互转化

// crt_mbtowc.c/* Illustrates the behavior of the mbtowc function */#include <stdlib.h>#include <stdio.h>int main( void ){    int      i;    char    *pmbc    = (char *)malloc( sizeof( char ) );    wchar_twc      = L'a';    wchar_t *pwcnull = NULL;    wchar_t *pwc   = (wchar_t *)malloc( sizeof( wchar_t ) );    printf( "Convert a wide character to multibyte character:\n" );    wctomb_s( &i, pmbc, sizeof(char), wc );    printf( "Characters converted: %u\n", i );    printf( "Multibyte character: %x\n\n", *pmbc );    printf( "Convert multibyte character back to a wide "            "character:\n" );    i = mbtowc( pwc, pmbc, MB_CUR_MAX );    printf( "Bytes converted: %u\n", i );    printf( "Wide character: %x\n\n", *pwc );    printf( "Attempt to convert when target is NULL\n" );    printf( "returns the length of the multibyte character:\n" );    i = mbtowc( pwcnull, pmbc, MB_CUR_MAX );    printf( "Length of multibyte character: %u\n\n", i );    printf( "Attempt to convert a NULL pointer to a" );    printf( " wide character:\n" );    pmbc = NULL;    i = mbtowc( pwc, pmbc, MB_CUR_MAX );    printf( "Bytes converted: %u\n", i );}
页: [1]
查看完整版本: wchar_t 与 char 相互转化