Partilhar via


wctomb, _wctomb_l

Converta um caractere largo para os caracteres multibyte correspondente.Versões mais seguras dessas funções estão disponíveis; see 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 caracteres multibyte.

  • wchar
    Um caractere largo.

Valor de retorno

Se wctomb converte o caractere largo para um caractere de vários bytes, ele retorna o número de bytes (que nunca é maior que MB_CUR_MAX) no caractere grande.Se wchar é o caractere nulo de caractere largo (L '\0'), wctomb retorna 1.Se o ponteiro de destino mbchar for NULL, wctomb retorna 0.Se a conversão não é possível na localidade atual, wctomb retorna – 1 e errno for definido como EILSEQ.

Comentários

O wctomb função converte seu wchar argumento para os caracteres multibyte correspondente e armazena o resultado no mbchar.Você pode chamar a função a partir de qualquer ponto em qualquer programa.wctombusa a localidade atual para qualquer comportamento depende da localidade; _wctomb_lé idêntico ao wctomb , exceto que ele usa a localidade passada em vez disso.Para obter mais informações, consulte Localidade.

wctombvalida os seus parâmetros.Se mbchar é NULL, o manipulador de parâmetro inválido é invocado, conforme descrito em Validação de parâmetro.Se a execução terá permissão para continuar, errno for definido como EINVAL e a função retornará -1.

Requisitos

Rotina

Cabeçalho necessário

wctomb

<stdlib.h>

Para obter informações adicionais de 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 );
}
  

Equivalência do .NET Framework

Não aplicável. Para chamar 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