La función wcsrtombs() convierte caracteres anchos en strings multibyte. Esta función convierte la string de caracteres ancha representada por *src en la string de caracteres de varios bytes correspondiente y se almacena en la array de caracteres a la que apunta dest si dest no es nulo. Se escribe un máximo de len caracteres en dest .
Sintaxis:
size_t wcsrtombs( char* dest, const wchar_t** src, size_t len, mbstate_t* ps )
Parámetros: La función acepta cuatro parámetros obligatorios que se describen a continuación:
- dest : Puntero a una array de elementos char lo suficientemente larga como para almacenar una string de bytes máximos
- src : Puntero a una string ancha para traducir
- len : número máximo de bytes disponibles en la array de destino
- ps: puntero al objeto de estado de conversión
Valor devuelto: la función devuelve dos valores como se muestra a continuación:
- En caso de éxito, devuelve el número de bytes escritos en dest (sin incluir el eventual carácter nulo de terminación)
- Si ocurre algún error, se devuelve -1 y errno se establece en EILSEQ .
Los siguientes programas ilustran la función anterior:
Programa 1:
CPP
// C++ program to illustrate // wcsrtombs() function #include <bits/stdc++.h> using namespace std; int main() { // initialize the string const wchar_t* src = L"Geekforgeeks"; // maximum length of the dest char dest[20]; // initial state mbstate_t ps = mbstate_t(); // maximum length of multibyte character int len = 12; // function to convert wide-character // to multibyte string int value = wcsrtombs(dest, &src, len, &ps); cout << "Number of multibyte characters = " << value << endl; cout << "Multibyte characters written = " << dest << endl; return 0; }
Number of multibyte characters = 12 Multibyte characters written = Geekforgeeks
Programa 2:
CPP
// C++ program to illustrate // wcsrtombs() function #include <bits/stdc++.h> using namespace std; int main() { // initialize the string const wchar_t* src = L"This website is the best"; // maximum length of the dest char dest[20]; // initial state mbstate_t ps = mbstate_t(); // maximum length of multibyte character int len = 14; // function to convert wide-character // to multibyte string int value = wcsrtombs(dest, &src, len, &ps); cout << "Number of multibyte characters = " << value << endl; cout << "Multibyte characters written = " << dest << endl; return 0; }
Number of multibyte characters = 14 Multibyte characters written = This website i
Publicación traducida automáticamente
Artículo escrito por AmanSrivastava1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA