Função de biblioteca C - wcstombs ()

Descrição

A função da biblioteca C size_t wcstombs(char *str, const wchar_t *pwcs, size_t n) converte a string de caracteres largos pwcs para uma string multibyte começando em str. No máximon bytes são gravados em str.

Declaração

A seguir está a declaração da função wcstombs ().

size_t wcstombs(char *str, const wchar_t *pwcs, size_t n)

Parâmetros

  • str - Este é o ponteiro para uma matriz de elementos char com pelo menos n bytes de comprimento.

  • pwcs - Esta é uma string de caracteres largos a ser convertida.

  • n - Este é o número máximo de bytes a serem gravados em str.

Valor de retorno

Esta função retorna o número de bytes (não caracteres) convertidos e gravados em str, excluindo o caractere nulo final. Se um caractere multibyte inválido for encontrado, o valor -1 será retornado.

Exemplo

O exemplo a seguir mostra o uso da função wcstombs ().

#include <stdio.h>
#include <stdlib.h>

#define BUFFER_SIZE 50

int main () {
   size_t ret;
   char *MB = (char *)malloc( BUFFER_SIZE );
   wchar_t *WC = L"http://www.tutorialspoint.com";

   /* converting wide-character string */
   ret = wcstombs(MB, WC, BUFFER_SIZE);
   
   printf("Characters converted = %u\n", ret);
   printf("Multibyte character = %s\n\n", MB);
   
   return(0);
}

Vamos compilar e executar o programa acima que produzirá o seguinte resultado -

Characters converted = 29
Multibyte character = http://www.tutorialspoint.com