Exportar (0) Imprimir
Expandir todo
and
div
eof
not
or
xor
Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

wctomb_s, _wctomb_s_l

Convierte un carácter ancho al carácter correspondiente multibyte. Una versión de wctomb, _wctomb_l con mejoras de seguridad como se describe en Características de seguridad de CRT.

errno_t wctomb_s(
   int *pRetValue,
   char *mbchar,
   size_t sizeInBytes,
   wchar_t wchar 
);
errno_t _wctomb_s_l(
   int *pRetValue,
   char *mbchar,
   size_t sizeInBytes,
   wchar_t wchar,
   _locale_t locale
);

[out] pRetValue

El número de bytes, o código que indica el resultado.

[out] mbchar

La dirección de un carácter multibyte.

[in] sizeInBytes

Tamaño del búfer mbchar.

[in] wchar

Un carácter ancho.

[in] locale

Configuración regional que se va a usar.

Devuelve cero si se ejecuta correctamente; devuelve un código de error si se produce un error.

Condiciones de error

mbchar

sizeInBytes

Valor devuelto

pRetValue

NULL

>0

EINVAL

no modificado

any

>INT_MAX

EINVAL

no modificado

any

demasiado pequeño

EINVAL

no modificado

Si es un de los sobre condiciones de error, el controlador no válido de parámetro se invoca, como se describe en Validación de parámetros. Si la ejecución puede continuar, wctomb devuelve EINVAL y establece errno en EINVAL.

La función de wctomb_s 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.

Si wctomb_s convierte el carácter ancho a un carácter multibyte, coloca el número de bytes (que nunca es mayor que MB_CUR_MAX) en el carácter ancho en integer indicada por pRetValue. Si wchar es el carácter null de caracteres anchos (L'\0), wctomb_s rellena pRetValue con 1. Si el puntero mbchar de destino es NULL, wctomb_s coloca 0 en pRetValue. Si la conversión no es posible en la configuración regional actual, wctomb_s coloca – 1 en pRetValue.

wctomb_s utiliza la configuración regional actual para la información configuración regional-dependiente; _wctomb_s_l es idéntico pero utiliza la configuración regional pasado en su lugar. Para obtener más información, vea Configuración regional.

Rutina

Encabezado necesario

wctomb_s

<stdlib.h>

_wctomb_s_l

<stdlib.h>

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

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

// crt_wctomb_s.cpp
#include <stdio.h>
#include <stdlib.h>

int main( void )
{
    int i;
    wchar_t wc = L'a';
    char *pmb = (char *)malloc( MB_CUR_MAX );

    printf_s( "Convert a wide character:\n" );
    wctomb_s( &i, pmb, MB_CUR_MAX, wc );
    printf_s( "   Characters converted: %u\n", i );
    printf_s( "   Multibyte character: %.1s\n\n", pmb );
}
Convierte un carácter ancho:
   Caracteres convertidos: 1
   Carácter de Multibyte: t

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.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft