A função wcstombs () em C ++ converte uma cadeia de caracteres larga em uma seqüência multibyte equivalente.
A função wcstombs () é definida no arquivo de cabeçalho.
protótipo wcstombs ()
size_t wcstombs (char * dest, const wchar_t * src, size_t max);
A função wcstombs () recebe três argumentos e retorna um valor inteiro.
Esta função converte a cadeia de caracteres larga cujo primeiro elemento é apontado por src em sua representação multibyte.
O resultado é armazenado no local da memória apontado por dest. O parâmetro max representa o número máximo de caracteres largos a serem convertidos.
O mecanismo de conversão é o mesmo de wctomb, exceto que o estado de conversão wctomb não é afetado. A conversão para se:
- Um caractere nulo é encontrado, que é então convertido e armazenado.
- Foi encontrado um wchar_t que não corresponde a um caractere válido na localidade C atual.
- o número máximo de caracteres largos foi convertido.
Parâmetros wcstombs ()
- dest: Ponteiro para a matriz de caracteres multibyte resultante.
- src: Ponteiro para o primeiro elemento do caractere largo que é convertido em caractere multibyte.
- max: Número máximo de caracteres largos a serem convertidos.
wcstombs () Valor de retorno
- Se a conversão for bem-sucedida, wcstombs () retorna o número de caracteres multibyte excluindo o caractere de terminação (isto é, ' 0') que é escrito no array de destino.
- Se ocorrer algum erro durante a conversão, ele retorna -1.
Exemplo: Como funciona a função wcstombs ()?
#include #include using namespace std; int main() ( wchar_t src() = L"Welcome To Programiz.com"; char dest(50); int num; num = wcstombs(dest, src, 50); cout << "Number of wide character converted = " << num << endl; cout << "Multibyte Character String = " << dest << endl; return 0; )
Quando você executa o programa, uma possível saída será:
Número de caracteres largos convertidos = 24 String de caracteres multibyte = Bem-vindo ao Programiz.com