Share via


wctomb, _wctomb_l

Converta um caractere de largo de caracteres multibyte correspondente.Versões mais seguras dessas funções estão disponível; 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
    O endereço de um caractere de multibyte.

  • wchar
    Um caractere largo.

Valor de retorno

If wctomb Converte caracteres largos em um caractere de vários bytes, ela retorna o número de bytes (que nunca é maior que MB_CUR_MAX) no caractere largo. If wchar é o caractere nulo de caractere largo (L '\0') wctomb Retorna 1. Se o destino ponteiro mbchar for nulo, wctomb Retorna 0. Se a conversão não for possível na localidade corrente, wctomb Retorna – 1 e errno é conjunto para EILSEQ.

Comentários

The wctomb função converte seu wchar argumento para os caractere multibyte correspondente e armazena o resultado no mbchar. Você pode chamar a função de qualquer local em qualquer programa.wctomb usa a localidade corrente para qualquer comportamento dependente de localidade; _wctomb_l é idêntico ao wctomb exceto que ele usa a localidade do passado em vez disso. For more information, see Localidade.

wctomb valida os parâmetros. If mbchar é NULL, o manipulador de parâmetro inválido é chamado, conforme descrito em Validação de parâmetro. Se a execução for permitida para continuar, errno é conjunto para EINVAL e a função retornará -1.

Requisitos

Rotina

Cabeçalho necessário

wctomb

<stdlib.h>

Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.

Exemplo

Este programa ilustra o comportamento da função 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

Equivalente do NET Framework

Não aplicável. Para telefonar a função C padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Conversão de Dados

Localidade

_mbclen mblen, _mblen_l

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

wcstombs, _wcstombs_l

WideCharToMultiByte