English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Biblioteca padrão no C - <stdlib.h>
Função da biblioteca C size_t mbstowcs(schar_t *pwcs, const char *str, size_t n) Converter str Converte a string de caractere de múltiplos bytes apontada por pwcs Ponteiro para o array.
Abaixo está a declaração da função mbstowcs().
size_t mbstowcs(schar_t *pwcs, const char *str, size_t n)
A função retorna o número de caracteres convertidos, sem o caractere nulo final. Se encontrar um caractere de múltiplos bytes inválido, retorna -1 valor
Abaixo está um exemplo de uso da função mbstowcs().
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int len; char *pmbnull = NULL; char *pmb = (char *)malloc( MB_CUR_MAX ); wchar_t *pwc = L"Hi"; wchar_t *pwcs = (wchar_t *)malloc( sizeof( wchar_t )); printf("Converter para string de múltiplos bytes\n"); len = wcstombs( pmb, pwc, MB_CUR_MAX); printf("Caractere convertido %d\n", len); printf("O valor hexadecimal do primeiro caractere de múltiplos bytes: %#.4x\n", pmb); printf("Converter para string de caractere amplo\n"); len = mbstowcs( pwcs, pmb, MB_CUR_MAX); printf("Caractere convertido %d\n", len); printf("O valor hexadecimal do primeiro caractere amplo: %#.4x\n\n", pwcs); return(0); }
Vamos compilar e executar o programa acima, o que produzirá o seguinte resultado:
Converter para string multibyte Caractere a ser convertido 1 O valor hexadecimal do primeiro caractere multibyte: 0x19a60010 Converter para string de caractere amplo Caractere a ser convertido 1 O valor hexadecimal do primeiro caractere amplo: 0x19a60030