wctomb, _wctomb_l
Convierte un carácter ancho al carácter correspondiente multibyte. Hay disponibles versiones más seguras de estas funciones; 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 regional-dependiente; _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 de parámetros no válidos, 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, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.