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