Funktionen wcstombs () i C ++ konverterar en bred teckensträng till motsvarande multibytsekvens.
Funktionen wcstombs () definieras i rubrikfilen.
wcstombs () prototyp
size_t wcstombs (char * dest, const wchar_t * src, size_t max);
Funktionen wcstombs () tar tre argument och returnerar ett heltal.
Denna funktion konverterar den breda teckensträngen vars första element pekas av src till dess multibyte-representation.
Resultatet lagras på minnesplatsen som dest. Parametern max representerar det maximala antalet breda tecken som ska konverteras.
Omvandlingsmekanismen är densamma som för wctomb, förutom att wctomb-omvandlingstillståndet inte påverkas. Konverteringen stoppar om:
- En noll karaktär påträffas som sedan konverteras och lagras.
- En wchar_t hittades som inte motsvarar ett giltigt tecken i det aktuella C-området.
- maximalt antal breda tecken har konverterats.
wcstombs () Parametrar
- dest: Pekare till det resulterande multibyte-teckensystemet.
- src: Pekare till det första elementet i den breda karaktären som omvandlas till multibytkaraktär.
- max: Maximalt antal breda tecken som ska konverteras.
wcstombs () Returvärde
- Om konverteringen lyckas returnerar wcstombs () antalet multibyt-tecken exklusive det avslutande tecknet (dvs. ' 0') som skrivs till destinationsmatrisen.
- Om något fel inträffar under konverteringen returnerar det -1.
Exempel: Hur fungerar 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; )
När du kör programmet blir en möjlig utdata:
Antal breda tecken konverterade = 24 Multibyt-teckensträng = Välkommen till Programiz.com