Se recomienda usar Visual Studio 2017

wctomb, _wctomb_l

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Convertir un carácter ancho en el carácter multibyte correspondiente. Existen versiones más seguras de estas funciones; consulte wctomb_s, _wctomb_s_l.

int wctomb(  
   char *mbchar,  
   wchar_t wchar   
);  
int _wctomb_l(  
   char *mbchar,  
   wchar_t wchar,  
   _locale_t locale  
);  

Parámetros

mbchar
La dirección de un carácter multibyte.

wchar
Un carácter ancho.

Si wctomb convierte los caracteres anchos a un carácter multibyte, devuelve el número de bytes (que nunca es mayor que MB_CUR_MAX) en el carácter ancho. Si wchar es el carácter null de caracteres anchos (L '\0'), wctomb devuelve 1. Si el puntero de destino mbchar es NULL, wctomb devuelve 0. Si la conversión no es posible en la configuración regional actual, wctomb devuelve –&1; y errno está establecido en EILSEQ.

El wctomb función convierte su wchar argumento para el carácter multibyte correspondiente y almacena el resultado en mbchar. Puede llamar a la función desde cualquier lugar en cualquier programa. wctombutiliza la configuración regional actual para cualquier comportamiento dependiente de la configuración regional; _wctomb_l es idéntico a wctomb salvo que usa la configuración regional que se pasa en su lugar. Para obtener más información, vea Locale.

wctomb valida sus parámetros. Si mbchar es NULL, se invoca el controlador de parámetros no válidos, como se describe en validación del parámetro. Si la ejecución puede continuar, errno se establece en EINVAL y la función devuelve -1.

RutinaEncabezado necesario
wctomb<stdlib.h>

Para obtener información adicional de compatibilidad, vea Compatibilidad en la Introducción.

Este programa muestra el comportamiento de la función wctomb.

// crt_wctomb.cpp  
// compile with: /W3  
#include <stdio.h>  
#include <stdlib.h>  
  
int main( void )  
{  
   int i;  
   wchar_t wc = L'a';  
   char *pmb = (char *)malloc( MB_CUR_MAX );  
  
   printf( "Convert a wide character:\n" );  
   i = wctomb( pmb, wc ); // C4996  
   // Note: wctomb is deprecated; consider using wctomb_s  
   printf( "   Characters converted: %u\n", i );  
   printf( "   Multibyte character: %.1s\n\n", pmb );  
}  

Convert a wide character:  
   Characters converted: 1  
   Multibyte character: a  

No es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Conversión de datos
Configuración regional
_mbclen, mblen, _mblen_l
mbstowcs, _mbstowcs_l
mbtowc, _mbtowc_l
wcstombs, _wcstombs_l
WideCharToMultiByte

Mostrar: