Compartir a través de


wctomb, _wctomb_l

Convierte un carácter ancho al carácter correspondiente multibyte.Versiones más seguras de estas funciones están disponibles; vea 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.

Valor devuelto

Si wctomb convierte el carácter ancho 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 mbchar de destino es NULL, wctomb devuelve 0.Si la conversión no es posible en la configuración regional actual, wctomb vuelve – 1 y errno se establece en EILSEQ.

Comentarios

La función de wctomb convierte su argumento de wchar el carácter correspondiente multibyte y almacena el resultado en mbchar.Puede llamar a la función de cualquier punto de cualquier programa.wctomb utiliza la configuración regional actual para cualquier comportamiento configuración; dependientes _wctomb_l es idéntico a wctomb pero utiliza la configuración regional pasado en su lugar.Para obtener más información, vea Configuración regional.

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

Requisitos

rutina

Encabezado necesario

wctomb

<stdlib.h>

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

Ejemplo

Este programa muestra el comportamiento de la función de 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 );
}
  

Equivalente en .NET Framework

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

Vea también

Referencia

Conversión de datos

Configuración regional

_mbclen, mblen, _mblen_l

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

wcstombs, _wcstombs_l

WideCharToMultiByte