C ++ mbstowcs () - C ++ Standardbibliotek

Funktionen mbstowcs () i C ++ konverterar en multibyt-teckensträng till motsvarande bred karaktärsekvens.

Funktionen mbstowcs () definieras i rubrikfilen.

mbstowcs () prototyp

 size_t mbstowcs (wchar_t * dest, const char * src, size_t max);

Funktionen mbstowcs () tar tre argument och returnerar ett heltalvärde.

Denna funktion konverterar multibyte-teckensträngen vars första element pekas av src till dess breda karaktär (värde av typen wchar_t).

Resultatet lagras på minnesplatsen som dest. Parametern max representerar det maximala antalet multibyt-tecken som ska konverteras.

Omvandlingsmekanismen är densamma som för mbtowc (), förutom att mbtowc-omvandlingstillståndet inte påverkas. Konverteringen stoppar om:

  • En noll karaktär påträffas som sedan konverteras och lagras.
  • En ogiltig multibytkaraktär påträffas.
  • maximalt antal multibyte-tecken har konverterats.

mbstowcs () Parametrar

  • dest: Pekare till den resulterande breda karaktärsuppsättningen.
  • src: Pekare till det första elementet i multibytkaraktären som omvandlas till bred karaktär.
  • max: Maximalt antal multibyt-tecken som ska konverteras.

mbstowcs () Returvärde

  • Om konverteringen lyckas returnerar mbstowcs () antalet breda 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 mbstowcs () -funktionen?

 #include #include using namespace std; int main() ( char src() = "xc4xe3xbaxc3"; wchar_t dest(10); int num; num = mbstowcs(dest, src, MB_CUR_MAX); cout << "Number of wide character converted = " << num << endl; wcout << "Wide Character String = " << dest << endl; return 0; )

När du kör programmet blir en möjlig utdata:

 Antal konverterade breda tecken = 1 Bred karaktärssträng = ─

Intressanta artiklar...