Compartilhar via


wctomb, _wctomb_l

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

  • wchar
    Um caractere largo.

Valor de retorno

Se wctomb converte o caractere largo a um caracteres multibyte, retorna o número de bytes (que nunca é maior que MB_CUR_MAX) em caractere largo. Se wchar é o caractere nulo ampla de caracteres (L \ 0 '), retornará 1. wctomb de. Se o ponteiro mbchar de destino for NULL, retornará 0 de wctomb . Se a conversão não é possível na localidade atual, wctomb 1 será retornado e errno é definido como EILSEQ.

Comentários

A função de wctomb converte seu argumento de wchar correspondente em caracteres multibyte e armazena o resultado em mbchar. Você pode chamar a função de qualquer ponto em qualquer programa. wctomb usa a localidade atual para qualquer comportamento dependente de localidade; _wctomb_l é idêntico a wctomb exceto que usa a localidade passada por vez. Para obter mais informações, consulte Localidade.

wctomb valida seus parâmetros. Se mbchar é NULL, o parâmetro de manipulador inválido é invocado, como descrito em Validação do parâmetro. Se a execução for permitida continuar, errno está definido como EINVAL e a função retorna -1.

Requisitos

Rotina

Cabeçalho necessário

wctomb

<stdlib.h>

Para informações adicionais de compatibilidade, consulte Compatibilidade na Introdução.

Exemplo

Esse programa ilustra o comportamento da função 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 );
}
  

Equivalência do .NET Framework

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

Consulte também

Referência

Conversão de dados

Localidade

_mbclen, mblen, _mblen_l

mbstowcs, _mbstowcs_l

mbtowc, _mbtowc_l

wcstombs, _wcstombs_l

WideCharToMultiByte